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.
• Removes any restriction regarding the nesting depth of a JSON array or object. This will make "Input depth exceeds max depth of 32" error to not appear anymore.
Introduced in Version 1.21
• Fixes the import of .plist files.
Introduced in Version 1.20
• Adds support to sort items. Just select the items you want, choose "Editor -> Sort..." (Command + Shift + R) and adjust the sort options. There are multiple options which control how the sort is performed: Sort by key or by value or by subkey, Sort ascending or descending. Selecting a single item which is an array or dictionary/object, allows you to sort the children of that item.
• Find is enhanced with the following option which configures how to look for matches: "Regular Expression". This option is available by clicking the "search" image in the Find bar (Command + F).
• "New Array from Selection" and "New Object from Selection" have been renamed to "Embed in Array" and "Embed in Object"
• Other stability improvements and other under the hood changes.
Introduced in Version 1.19
• Removes the occassional reminder to rate the application. Because it's cheesy.
• Stability improvements and other under the hood changes.
Introduced in Version 1.18
• Find is enhanced with the following options which configure where in the JSON's keys and values to look for matches: "Contains", "Equals To", "Starts With" and "Ends With". These options are available by clicking the "search" image in the Find bar (Command + F).
• You can add custom OAuth 2 authorization providers, in addition to those which are already included.
• Adds option to disable the Auto Save (and Version). This is available in Preferences (Command + ,) in "Open and Save" tab. By disabling Auto Save you get back the old behavior of Mac OS X where you are prompted to save the open files before quitting the application. Additionally, the documents won't be reopened when JSON Editor is started again.
• The expressions "Raw JSON" and "Raw JSON Editor" have been changed to say "JSON Text" and "JSON Text Editor", respectively. These new forms are more clear and pair nicely with their counterparts "JSON Tree" and "JSON Tree Editor".
• HTTP response's body (if any) is now displayed if the HTTP status code is 401 or 407. Previously it was not displayed.
Ratings and Reviews
I’m using this app currently to build and edit several rather large (several hundred line) JSON files for a development project. Overall it’s pretty good. It helps visualize the structure of the file really well, and editing is very simple.
My only request is multiple selections. In my use case, I find my self changing structures sometimes which means moving rows to different areas of the structure while maintaining their order. Because I often have to move around many rows at once, I have to do them one by one, as I cannot shift+select multiple items at once. Adding that functionality would probably shave a solid hour off my work.
Drew Hood, thank you for your feedback! Starting from version 1.15, multiple selection is supported by the application! You can select multiple siblings and manipulate them: copy, move, delete, duplicate, edit etc. Please download the latest version of the app and let me know how this works for you. If you have more suggestions feel free to use "Help -> Send Feedback" to contact me.
Exactly what I was looking for: an efficient JSON browser
I need to grapple with JSON files: review them, check them against a spec, design them, document the designs, etc, etc.
This app is perfect for me, allowing me to quickly see how a new JSON is laid out, searching for things, digging deep when I need to. I’m very glad I spent $5 on it, I’ll be using it every day now.
I strongly recommend this app if you do any work with JSON objects and files; it is quick, clean, efficient, powerful.
dmac-ct, thank you for the review! In the eventuality there are any improvements you would like to see, please don't hesitate to contact me at email@example.com
I’m an iOS developer and that means I spend a lot of time trying to make sense of JSON responses from RESTful web servers. This app is an indespensable tool as it does a fantastic job of:
1 - Saving common requests I need to make, it’s just a click to switch between endpoints!
2 - Formats the JSON in an easily digestible format. This especially plays well with the new Codable/Decodable technology in Swift 4, which oftentimes reports an error such as “you have a problem at index 46 of the array”. Using JSON Editor’s JSON Document feature, I can quickly click through a UI (reminsicent of a plist editor) to see what the problem is.
Also the developer is super helpful and responsive to support requests. I can’t praise this app enough!
Thanks bpapa! I'm really glad you find it helpful.
With Family Sharing set up, up to six family members can use this app.