Fixing VS Code Copilot 'Invalid JSON Format' Errors
Navigating the Frustration: When VS Code Copilot Throws an 'Invalid JSON Format' Error
Hey there, fellow developers! Have you ever been deep in thought, crafting elegant code, only for your trusty AI companion, VS Code Copilot, to suddenly throw its hands up with a perplexing "Request Failed: Invalid JSON format in tool call arguments" error? It's a truly frustrating experience, isn't it? One moment you're flowing with intelligent suggestions, and the next, your creative process grinds to a halt, leaving you staring at a cryptic message like Reason: Request Failed: 400 {"error":{"message":"Invalid JSON format in tool call arguments","code":"invalid_tool_call_format"}}. This particular error, often accompanied by a Copilot Request id and GH Request Id, signifies a communication breakdown where Copilot, in its attempt to provide assistance or execute a command, encounters an issue with the data it's trying to process or send. The underlying problem typically revolves around how Copilot interacts with its internal tools or services, specifically when the data representing these interactions isn't structured correctly according to the JSON specification. Understanding this error isn't just about fixing a bug; it's about regaining your productivity and ensuring your development workflow remains smooth and uninterrupted by unexpected technical hiccups. In this comprehensive guide, we're going to dive deep into what causes this specific JSON formatting error in VS Code Copilot, explore a range of practical troubleshooting steps from the simple to the more advanced, and equip you with best practices to minimize its recurrence, ensuring your AI coding assistant remains a powerful ally rather than a source of confusion.
Unpacking the 'Invalid JSON format in tool call arguments' Error
Let's truly understand what this particular error message, "Invalid JSON format in tool call arguments," is trying to tell us when it pops up during our VS Code Copilot sessions. This isn't just a generic failure; it points directly to a problem in how information is being structured and exchanged behind the scenes. Essentially, JSON (JavaScript Object Notation) is a lightweight data-interchange format that's incredibly popular for sending data between a server and web application, or in this case, between the Copilot extension and its underlying AI services or internal tool system. When the error states "Invalid JSON format," it means that a piece of data, which was expected to be a valid JSON string (with correct syntax, proper nesting of objects and arrays, correctly quoted keys and string values, and no trailing commas where they shouldn't be), didn't meet these requirements. The additional phrase, "in tool call arguments," narrows down the context significantly: it implies that Copilot was attempting to invoke an internal function or tool—perhaps to fetch information, process a request, or generate specific code based on your prompt—and the parameters or arguments it generated for that tool call were themselves malformed JSON. This could stem from a variety of sources, such as a bug in the Copilot extension itself causing it to construct incorrect JSON, an unexpected character in your prompt confusing its parsing logic, or even an interaction with other VS Code extensions that might be interfering with Copilot's output. The 400 Bad Request status code further reinforces this, indicating that the server (Copilot's backend service) understood the request but couldn't process it due to client-side errors, specifically the malformed JSON provided as part of the tool call. Recognizing this specific detail is the first crucial step in effectively diagnosing and resolving the issue, allowing us to focus our troubleshooting efforts on data integrity and communication protocols within the VS Code environment and Copilot's extension architecture.
What Exactly Is This Error Telling Us?
Delving deeper into the nitty-gritty, the "Invalid JSON format in tool call arguments" error precisely pinpoints a specific type of data corruption or malformation that occurs when VS Code Copilot is attempting to communicate with its internal components or external APIs. Imagine Copilot as a highly skilled assistant with a toolkit of specialized functions, each requiring specific instructions formatted in a particular way. When you prompt Copilot for assistance, it processes your request, determines the most appropriate tool to use, and then constructs a set of arguments for that tool. These arguments, crucial for the tool's operation, are often packaged as a JSON string to ensure structured and easily parsable data. The error message indicates that this packaging process went awry; the JSON string created for these arguments does not conform to the strict syntax rules of JSON. This could mean anything from missing quotation marks around a key or value, an unescaped special character within a string, incorrect comma placement between elements, mismatched braces or brackets, or even subtle encoding issues that corrupt the string's integrity. For instance, if Copilot tries to generate an argument like { "filePath": "C:\Users\My Folder\document.txt" } but fails to properly escape the backslashes in the path, it would result in invalid JSON. The invalid_tool_call_format code provides further confirmation that the problem isn't with the tool itself, but with the format of the data being passed to it. This is a critical distinction because it shifts our focus from potential backend server issues to problems within the client-side extension or the data it generates based on your interaction. Understanding that the fault lies in the structure of these internal communication arguments helps us narrow down the potential causes, guiding us towards inspecting prompts, environment variables, and the integrity of the Copilot extension itself as primary areas for investigation.
Common Scenarios Leading to JSON Format Issues
Several common scenarios can unfortunately lead to VS Code Copilot encountering the dreaded "Invalid JSON format in tool call arguments" error, often stemming from subtle interactions within your development environment. One of the primary culprits can be malformed or overly complex user prompts. While Copilot is incredibly intelligent, ambiguous or extremely long prompts, especially those involving multiple concepts or structured data, can sometimes confuse its internal parsing mechanisms, leading it to generate incorrectly formatted tool call arguments. For example, if your prompt implicitly asks Copilot to interact with a file system or an API in a way that generates a complex path or data structure, and you include unusual characters or an inconsistent format, Copilot might misinterpret it during the argument construction phase. Another significant factor is outdated VS Code or Copilot extension versions. Software bugs are a natural part of development, and an older version of the extension or VS Code itself might contain known issues where it incorrectly serializes or deserializes JSON data for tool calls. Developers are constantly patching these kinds of problems, so running on an older version could easily expose you to such vulnerabilities. Furthermore, interactions with other VS Code extensions can occasionally cause conflicts. While usually harmonious, some extensions might modify the editor's behavior or data processing in ways that indirectly interfere with Copilot's ability to generate valid JSON for its tool calls. This could be due to shared resources, unexpected hooks, or even race conditions in the extension lifecycle. Lastly, corrupted VS Code cache or user settings can also play a role; a corrupted configuration file might inadvertently introduce characters or settings that prevent Copilot from functioning correctly, manifesting as a JSON parsing error during critical operations. Recognizing these common patterns empowers us to approach troubleshooting methodically, starting with the most likely culprits before moving to more intricate investigations.
Initial Troubleshooting Steps for VS Code Copilot
When confronted with an "Invalid JSON format" error from VS Code Copilot, the most effective strategy begins with a series of initial, straightforward troubleshooting steps that can often resolve the issue without needing to delve into complex diagnostics. These steps are designed to address the most common underlying causes, from simple input errors to outdated software or temporary glitches in the editor's state. The key here is to approach the problem systematically, starting with the easiest and least disruptive solutions first. Often, a quick check of your immediate interaction with Copilot, coupled with ensuring your development environment is up-to-date and clean, can quickly rectify the problem. We want to eliminate obvious culprits before assuming a deeper, more systemic issue within the Copilot extension or VS Code itself. This methodical approach not only saves time but also helps in accurately identifying the root cause if the initial steps don't yield a solution. Remember, VS Code Copilot is a powerful tool, but like any software, it can occasionally hit a snag, and many of these snags are easily ironed out with a few basic checks and restarts. By following these initial recommendations, you’ll be well on your way to getting Copilot back in top working order, providing the intelligent assistance you rely on every day for your coding tasks and accelerating your development workflow without interruption.
Checking Your Code and Prompts
One of the first and most crucial steps when facing an "Invalid JSON format in tool call arguments" error with VS Code Copilot is to meticulously check your current code and the prompts you've provided. Since the error specifically mentions "tool call arguments," which are generated based on your context, the issue might stem directly from your input or the surrounding code. Begin by reviewing the exact prompt you just gave Copilot. Are there any unusual characters? Is it exceedingly long or convoluted? Sometimes, breaking down a complex request into smaller, simpler prompts can help Copilot process the information more effectively and generate valid JSON. For instance, instead of asking for a complete API integration with multiple endpoints and complex data structures in one go, try asking for one endpoint at a time. Also, consider the code context where you're invoking Copilot. If you've just typed a partial JSON string, a malformed comment, or an unusual variable name, Copilot might be trying to interpret that as part of a tool call argument, leading to a syntax error. Ensure that your existing code is syntactically correct and well-formed according to its respective language standards. If you're working with JSON data within your code, double-check its validity using a linter or an online JSON validator. Even subtle errors like unescaped backslashes in file paths within a string, or unclosed quotes in a comment, can sometimes trickle down and confuse Copilot's parsing logic. Temporarily simplifying your prompt or the code around your cursor, then trying Copilot again, can often isolate whether the problem is directly related to your current input. It's surprising how often a slight rephrasing or a minor correction in the code can resolve what seems like a daunting technical error.
Updating VS Code and Copilot Extension
Keeping your software up-to-date is a fundamental principle in troubleshooting, and it's particularly vital when dealing with an error like "Invalid JSON format in tool call arguments" in VS Code Copilot. Software developers, including those at Microsoft and GitHub working on VS Code and the Copilot extension, are constantly pushing out updates that address bugs, improve performance, and enhance stability. An "Invalid JSON" error could very well be the symptom of a known bug in an older version of the Copilot extension or even within VS Code itself, where the logic for generating or parsing tool call arguments was flawed. Therefore, your next crucial step should be to update both your VS Code client and the GitHub Copilot extension to their latest available versions. To update VS Code, simply open the application, and it will often prompt you to install updates if they're available. Alternatively, you can manually check for updates via Help > Check for Updates (on Windows/Linux) or Code > Check for Updates (on macOS). For the Copilot extension, navigate to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X), search for "GitHub Copilot," and if an update is available, click the "Update" button. After updating both components, it's highly recommended to restart VS Code completely to ensure all changes are applied correctly and any cached outdated components are refreshed. This often resolves a significant number of transient issues, as bug fixes for JSON serialization or parsing logic are common in software updates, making this an extremely effective, low-effort solution that can quickly get you back to seamless AI-assisted coding without further frustration from such technical hiccups.
Clearing VS Code Cache and Restarting
When updates alone don't seem to resolve the persistent "Invalid JSON format in tool call arguments" error with VS Code Copilot, the next logical and often highly effective step is to clear your VS Code cache and perform a full restart. The VS Code application, much like any complex software, maintains various temporary files and cached data to improve performance and user experience. However, over time, these cache files can become corrupted or outdated, leading to unexpected behavior, including issues with extensions like Copilot. A corrupted cache might contain old or malformed configuration data that interferes with how Copilot constructs its JSON requests, or it might hold onto stale information that prevents a newly updated extension from functioning correctly. To clear the cache and restart VS Code properly, first, completely close all instances of VS Code. Then, you'll need to locate and delete the cache directories. On Windows, these are typically found in %APPDATA%\Code\Cache and %APPDATA%\Code\CachedData. On macOS, look in ~/Library/Application Support/Code/Cache and ~/Library/Application Support/Code/CachedData. On Linux, you'll find them in ~/.config/Code/Cache and ~/.config/Code/CachedData. After deleting these folders (or at least their contents), launch VS Code again. This process forces VS Code to rebuild its cache from scratch, ensuring that any lingering corrupted files are removed and a fresh slate is provided for all extensions. Following this, it's also a good idea to perform a global reload of the window within VS Code by opening the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and typing "Reload Window" to ensure all internal processes and extensions are fully reinitialized. This comprehensive refresh often clears out any transient issues, including those related to internal data formatting, allowing VS Code Copilot to operate smoothly once more, free from the constraints of corrupted temporary files.
Advanced Solutions for Persistent JSON Errors
If the initial troubleshooting steps—checking your prompts, updating your software, and clearing caches—haven't resolved the stubborn "Invalid JSON format in tool call arguments" error plaguing your VS Code Copilot experience, it's time to graduate to more advanced solutions. These steps delve deeper into your VS Code environment and its interactions, requiring a bit more investigation and potentially more disruptive actions, but they are crucial for diagnosing and fixing persistent issues that stem from deeper configuration conflicts or corrupted installations. A persistent error often indicates a more entrenched problem that isn't simply a matter of a temporary glitch or an outdated component. It could point to conflicts with other extensions, fundamental issues within your VS Code configuration, or even a corrupted core installation of Copilot itself. Don't be discouraged if the basic fixes didn't work; the nature of complex software environments means sometimes a more thorough approach is necessary. We'll explore how to meticulously review your VS Code settings, isolate potential conflicts with other extensions, and, if all else fails, consider a complete reinstallation of the problematic components. These advanced strategies are designed to systematically eliminate potential causes, helping you pinpoint the exact source of the problem and restore the seamless functionality of your indispensable AI coding assistant. Your goal here is to become a detective, carefully examining each aspect of your setup until the root cause of the JSON formatting error is unveiled and eradicated.
Reviewing VS Code Settings and Extensions
When facing a persistent "Invalid JSON format in tool call arguments" error, a critical advanced step is to meticulously review your VS Code settings and installed extensions for potential conflicts or misconfigurations. Your VS Code environment is a complex ecosystem, and while extensions are designed to work together, occasionally one might interfere with another, especially with a core AI extension like Copilot. Begin by launching VS Code with all extensions disabled to see if the problem persists. You can do this by opening the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and selecting "Developer: Reload With Extensions Disabled." If Copilot functions correctly in this mode, it strongly suggests a conflict with another extension. To pinpoint the culprit, enable extensions one by one or in small groups, testing Copilot after each activation until the error reappears. This binary search method can save significant time. Additionally, scrutinize your VS Code settings.json file (accessible via File > Preferences > Settings and then clicking the {} icon in the top right). Look for any settings related to JSON parsing, AI tools, language servers, or external API interactions that might be overriding default behaviors or introducing unexpected data transformations. Sometimes, a custom setting for a formatter or linter could indirectly affect how JSON strings are handled or validated, leading to a conflict with Copilot's internal processes. Also, consider any extensions that provide features overlapping with Copilot's capabilities, such as other AI code assistants, formatters that aggressively modify code, or extensions that interact with external services. Even seemingly unrelated extensions could, through complex interactions, introduce unexpected side effects. By systematically evaluating your VS Code configuration and isolating potential extension conflicts, you can often uncover the hidden root cause of the JSON formatting error, paving the way for a more stable and reliable development environment.
Reinstalling Copilot and VS Code
If all previous troubleshooting steps have failed to eliminate the persistent "Invalid JSON format in tool call arguments" error, it's time to consider a more drastic but often effective measure: a complete reinstallation of both the GitHub Copilot extension and, if necessary, VS Code itself. While this might sound daunting, it ensures that any corrupted installation files, deep-seated configuration issues, or subtle inconsistencies that accumulated over time are completely wiped clean, providing a pristine environment for Copilot to operate. Start by uninstalling the GitHub Copilot extension. Navigate to the Extensions view in VS Code, search for "GitHub Copilot," and click the gear icon next to it, then select "Uninstall." After uninstalling, close VS Code and restart your computer to clear any lingering processes or cached data in memory. Once your system is back up, reopen VS Code and reinstall the GitHub Copilot extension from the Marketplace. Test Copilot again. If the error persists, the issue might be deeper, suggesting a problem with your VS Code installation itself. In this scenario, back up any important settings or extensions you wish to preserve (though most are synced via your Microsoft/GitHub account), then proceed to fully uninstall VS Code. On Windows, use "Add or Remove Programs"; on macOS, drag the application from /Applications to the Trash; on Linux, use your package manager (e.g., sudo apt remove code for Debian-based systems). Crucially, after uninstalling the application, manually delete the VS Code user data folders to ensure all cached data, settings, and extension configurations are removed. These are typically located in %APPDATA%\Code on Windows, ~/Library/Application Support/Code on macOS, and ~/.config/Code on Linux. After deleting these folders, download the latest stable version of VS Code from the official website and perform a fresh installation. Then, reinstall GitHub Copilot. This comprehensive reinstallation ensures that any corrupted files or conflicting configurations that were not cleared by simpler methods are fully removed, often providing a definitive solution to even the most stubborn JSON formatting errors and restoring Copilot's functionality to its optimal state.
Reporting the Bug to Microsoft/GitHub
After exhaustively trying all the aforementioned troubleshooting steps—from checking your prompts and updating software to clearing caches, reviewing extensions, and even performing reinstallations—if the "Invalid JSON format in tool call arguments" error with VS Code Copilot stubbornly persists, then it's highly probable that you've encountered a genuine bug within the GitHub Copilot extension or its underlying services. At this point, the most responsible and helpful action you can take is to report the bug directly to Microsoft or GitHub. Your detailed report is invaluable to the development team, as it provides them with specific context and reproduction steps that can help them identify and fix the issue for everyone. To report the bug, navigate to the GitHub Copilot extension page in the VS Code Marketplace, scroll down to the "Resources" section, and look for a link to the GitHub repository or "Report an issue." Alternatively, you can often find a direct link within the Copilot documentation or through the VS Code "Help > Report Issue" menu, which can guide you to the correct issue tracker. When submitting your report, be as thorough as possible. Include the exact error message, including the Copilot Request id and GH Request Id provided in the original error details, as these unique identifiers can help developers trace specific server-side logs related to your request. Detail the steps you took that led to the error, the type of code you were working on, the specific prompt you provided, your VS Code version, Copilot extension version, and your operating system information (all found in the "System Info" section you originally provided). Crucially, list all the troubleshooting steps you've already attempted, as this prevents the development team from suggesting solutions you've already tried and helps them focus on deeper investigation. Attaching screenshots or short video recordings of the issue can also be incredibly beneficial. By meticulously reporting the bug, you're not just solving your own problem, but contributing significantly to the stability and reliability of VS Code Copilot for the entire developer community, fostering a better AI-assisted coding experience for everyone.
Best Practices to Prevent Future JSON Format Issues
Beyond just fixing the immediate "Invalid JSON format in tool call arguments" error, adopting a set of best practices can significantly reduce the likelihood of encountering such issues with VS Code Copilot in the future. Proactive measures are always more efficient than reactive troubleshooting, especially when it comes to maintaining a smooth and productive development workflow. These practices center around understanding how Copilot processes information, maintaining a clean and updated development environment, and being mindful of the data structures it might interact with. By consciously integrating these habits into your daily coding routine, you can not only prevent recurrence of JSON formatting errors but also optimize Copilot's overall performance and accuracy, making it an even more reliable and seamless partner in your coding endeavors. It's about working with your AI assistant intelligently, rather than just passively receiving its suggestions. These recommendations range from thoughtful prompt engineering to diligent software maintenance, all designed to foster a robust and error-resistant interaction between you, VS Code, and the powerful GitHub Copilot extension. By internalizing these principles, you empower yourself to anticipate potential issues and build a more resilient coding setup, ensuring that your precious development time is spent creating, not debugging communication errors.
Crafting Clear and Concise Prompts
One of the most effective preventative measures against "Invalid JSON format in tool call arguments" errors with VS Code Copilot is to consistently craft clear, concise, and unambiguous prompts. The quality of Copilot's output and its ability to correctly interpret your intentions are directly tied to the clarity of your input. Vague, overly long, or grammatically incorrect prompts can lead to misinterpretations by Copilot's underlying language models, causing it to generate incorrect data structures or malformed arguments when attempting to call an internal tool. Think of your prompt as a command to a very intelligent but literal assistant: the more precise your instructions, the better the outcome. Avoid using jargon that Copilot might not understand in a specific context, and if you're asking it to generate code that involves structured data (like JSON or YAML), provide clear examples of the desired format within your prompt or the surrounding code. Break down complex requests into smaller, manageable chunks. For example, instead of asking Copilot to "write a full web server with user authentication and database integration," which involves numerous complex components, first ask it to "create a basic Express.js server structure," then "add a route for user registration," and so on. If you expect a specific JSON output or require Copilot to understand a JSON structure, explicitly state it in your prompt, e.g., "Generate a JSON object for a user profile with fields: name, email, id." Regularly reviewing your prompt engineering techniques and refining your communication style with Copilot will not only reduce JSON formatting errors but also significantly improve the relevance and quality of the code suggestions you receive, making your AI coding experience far more efficient and enjoyable by aligning your expectations with Copilot's capabilities.
Keeping Your Environment Up-to-Date
A cornerstone best practice for preventing almost any software-related issue, including the dreaded "Invalid JSON format in tool call arguments" error with VS Code Copilot, is to consistently keep your entire development environment meticulously up-to-date. This isn't just about occasionally checking for updates; it's about making a habit of regularly updating VS Code, the GitHub Copilot extension, and any other critical extensions or system dependencies you rely on. Software development is an incredibly dynamic field, and bugs, including those related to JSON serialization, parsing, or tool call argument generation, are discovered and patched regularly by the Microsoft and GitHub teams. Running outdated versions leaves you vulnerable to these known issues. Set your VS Code to automatically check for updates, or make it a weekly ritual to manually check and install them. The same applies to the Copilot extension; ensure you always have the latest version installed to benefit from the newest bug fixes, performance improvements, and feature enhancements. Beyond VS Code and its extensions, also consider your operating system and any language runtimes or package managers you use (e.g., Node.js, Python, npm, pip). While less directly related to Copilot's internal JSON handling, a stable and current underlying system provides the best foundation for all applications. An up-to-date environment minimizes compatibility issues, leverages the latest security patches, and ensures that all components are working with the most refined and stable codebases available. By making this a priority, you significantly reduce the surface area for errors, including those pesky JSON formatting problems, ensuring a smoother, more reliable, and ultimately more productive coding experience with VS Code Copilot as your indispensable AI assistant.
Understanding Tool Call Arguments
To truly prevent future "Invalid JSON format in tool call arguments" errors with VS Code Copilot, it's highly beneficial to gain a conceptual understanding of what "tool call arguments" actually entail within the context of large language models (LLMs) and AI assistants like Copilot. While we don't need to become experts in AI architecture, recognizing that Copilot isn't just generating raw text but often intending to invoke specific functions or tools based on your prompt is key. When you ask Copilot to, for example, "create a new file named example.py" or "look up the documentation for Array.prototype.map," it might translate these natural language requests into structured tool calls. These tool calls are essentially internal API requests, where Copilot decides which function to execute (e.g., create_file, search_documentation) and then generates the necessary parameters or arguments (e.g., {"filename": "example.py"}, {"query": "Array.prototype.map"}). The "Invalid JSON format" error arises when Copilot tries to formulate these arguments, and the resulting JSON string for {"filename": "example.py"} or {"query": "Array.prototype.map"} somehow becomes malformed before it's sent for execution. This deeper understanding helps us anticipate when Copilot might be attempting a tool call. If your prompt implicitly or explicitly suggests an action that goes beyond simple code generation—like interacting with the file system, searching external knowledge bases, or executing commands—then you're entering the realm of tool calls. Being mindful of this context allows you to structure your prompts more carefully, ensuring that any implicit data Copilot might generate for these arguments is clean and unambiguous. For instance, if you ask it to create a file with a complex path, ensure the path itself is valid and doesn't contain characters that would break JSON string escaping. By grasping the concept of tool call arguments, you're better equipped to guide Copilot's output and prevent the very errors that stem from its internal communication mechanisms, leading to a much more robust and error-free AI coding experience.
Conclusion: Mastering Your VS Code Copilot Experience
Encountering an "Invalid JSON format in tool call arguments" error with VS Code Copilot can certainly be a roadblock in your development journey, but as we've explored, it's a perfectly solvable problem with a systematic approach. From the initial frustration of a cryptic error message to successfully implementing solutions, understanding the nature of the error—a breakdown in JSON data formatting during Copilot's internal tool calls—is your first powerful step. We've walked through essential troubleshooting strategies, from the quick wins of checking your prompts and ensuring software updates, to more advanced maneuvers like clearing caches, meticulously reviewing your VS Code environment for extension conflicts, and even performing complete reinstallations when necessary. Beyond just fixing the immediate issue, adopting proactive best practices, such as crafting clear and concise prompts, keeping your development environment consistently up-to-date, and gaining a conceptual understanding of how Copilot utilizes tool call arguments, empowers you to prevent these errors from recurring. By integrating these habits, you transform potential frustrations into opportunities for learning and optimization, ensuring that VS Code Copilot remains the powerful, seamless AI coding assistant it's designed to be, rather than a source of unexpected technical hurdles. Remember, every error is a chance to deepen your understanding and refine your workflow. Armed with this comprehensive guide, you are now well-equipped to tackle "Invalid JSON format" errors confidently, maintaining a highly productive and enjoyable coding experience. Keep exploring, keep building, and let Copilot truly augment your coding prowess without interruption.
For more in-depth information and official resources, consider visiting these trusted websites:
- Official VS Code Documentation: https://code.visualstudio.com/docs
- GitHub Copilot Documentation: https://docs.github.com/en/copilot
- Microsoft Learn - VS Code: https://learn.microsoft.com/en-us/training/browse/?products=vs-code
- JSON.org - An Introduction to JSON: https://www.json.org/json-en.html