JSON Editor is a must-have editor for JSON data. In a clean, uncluttered and user-friendly interface, it allows you to quickly create, visualize, modify, validate, format and save your JSON documents.
Along with the included HTTP Client, is a powerful tool to inspect and debug your API endpoints.
KEY FEATURE - JSON EDITOR
• Edit JSON documents both in tree and text modes.
• Multiple selection in tree mode - you can select multiple siblings and perform standard operations (i.e. copy, drag and drop etc) on them.
• Syntax coloring, auto-indentation and line numbers.
• Validation of the JSON document.
• Highlight of the validation errors, along with a description of them.
• Make the JSON document human readable or compact, even if it is not entirely valid
• Auto-detect if the document is human readable or compact, and preserve this format
• Cut, copy, paste, delete and reorder the tree items.
• Copy & paste for JSON text.
• Undo & redo.
• Easily embed selected items in Array or Object (dictionary).
• Full support for Find & Replace, both in tree and text modes.
• In tree mode you can choose where the Find (and Replace) will take place: in "Key" column or "Value" column or both. The option which controls which columns will be searched is available by clicking the "search" image in the find bar (Command + F) and then accessing the options from "Find In" submenu.
• Find also lets you configure where in the JSON's keys and values to look for matches: "Contains", "Equals To", "Starts With" and "Ends With".
• Import and export property list (.plist) files.
• Support for pasting plist data, either from XML text or from Xcode.
• Copy JSON nodes as Swift objects so you can use them in Xcode.
• Copy JSON nodes as Objective-C objects (both modern and classic syntax) so you can use them in Xcode.
• Copy JSON nodes as JSON Path strings.
• Copy JSON nodes as XML plist so you can paste them in Xcode or other text editor.
• "Add" and "Remove" buttons on the tree row which is tracked by mouse.
• Ability to change the default font (both font family and size)- this font applies both to the JSON tree and to the text editor.
• Ability to increase and decrease font size for better readability.
• Full screen support.
• Versions support.
• Services support.
• Detect when the JSON document is changed by another application. In Preferences (Command + ,) -> "General" tab, you have the ability to customize what to do when this happens: "Keep JSON Editor's version" or "Ask how to resolve" or "Update to modified version".
• Double click on one of JSON tree's column separators to resize the corresponding column so the largest text in that column will be visible.
KEY FEATURE - HTTP CLIENT
• To open HTTP Client window choose "Window -> HTTP Client" (Shift + Command + K)
• HTTP Client allows you to easily perform HTTP requests. While its main purpose is to ease the fetch of JSON content from a server, it can be used to get or upload any content, including binary. The following HTTP verbs are supported: GET, POST, PUT, DELETE, HEAD.
• You can create folders to group the HTTP requests. Folders inside folders are supported, too! This feature is very handy to group the projects or APIs you're working with.
• Automatically detects if response body is text or binary, and for binary responses will shows its preview, while also allowing you save it to the desired file.
• For response bodies which are text, you will have the option to beautify them as JSON and to open them in a new JSON Editor document.
• Both HTTP authentication (basic, digest) and Proxy authentication, with Keychain integration, are supported.
• OAuth 2.0 is also supported. In addition to the built-in providers (bitly, Facebook, Foursquare, GitHub, Google, Instagram) you may add your custom ones, too.
• Once you have added and setup an OAuth 2.0 authorization you can attach it to a HTTP request - JSON Editor will take care of refreshing and attaching access token to the HTTP request.