如何缩进的TextMate,Emacs的,BBEdit中,或崇高文本2的内部JSON数据?

问题描述 投票:6回答:5

[更新:这个问题后8小时被张贴,JSON bundle的作者被通报的问题,他固定它。]

我有一个文件application.json以下JSON数据,在这个帖子的末尾表示,我已经使用的TextMate与JSON bundle,Emacs的,BBEdit中,和崇高的文本2正确缩进,但一切似乎就像他们不能。

无论TextMate的和崇高的文本2坚持认为,第一{不应该被缩进,而第一个主要问题是为"child": {右括号。无论TextMate的和崇高的文本2拒绝对准} "child": {左侧下。 Emacs的保持上越走越缩进每一行,并BBEdit中似乎并未有根本的重新排版功能(会这样?)。

有没有办法正确缩进文件,或者是TextMate的和崇高的文本2都做了JSON数据是正确的?

[ 
{
    "settings": [ "master" ],
    "appPort": "8666",
    "specs": {
        "frame" : {
            "type" : "HTMLFrameMojit",

            "config": {
                "deploy": true,
                "child": {
                    "type" : "HelloWorldMojit"
                    },
                    "assets": {
                        "top": {
                            "css": [
                            "/static/HelloWorldMojit/assets/index.css"
                            ]
                        }
                    }
                }
            }
        }
        },
        {
            "settings": [ "environment:development" ],
            "staticHandling": {
                "forceUpdate": true
            }
        }
        ]
json emacs textmate sublimetext2 bbedit
5个回答
3
投票

我只是纠正了这个问题捆绑,为用户2.0捆绑应与校正在24小时内更新。


11
投票

found的BBEdit的一个解决方案是容易的,效果很好。

把下面的脚本 ~/Library/Application Support/BBEdit/Text Filters/FormatJSON.sh

#!/bin/bash
python -m json.tool
  1. 在打开的BBEdit一个JSON文件。有没有必要重新启动的BBEdit因为BBEdit的石头!
  2. 选择文本>文字过滤> FormatJSON

我和那对单行3612683个字符的JSON文件测试这一点。 BBEdit中打开此文件,并重新格式化,而不显示SPOD。


2
投票

http://jsonprettyprint.com/ TextMate的卓异都没有做正确的事。

你用什么版本的Emacs的?

随着24.2.1,你的JSON团块完全缩进没有js-mode问题(EMAC的默认JavaScript的主要模式)。


如果你做任何显著JavaScript开发,我建议检查出JS2模式qazxsw POI,果然Emacs的成为一个伟大的JS IDE。


0
投票

崇高漂亮的JSON

https://github.com/mooz/js2-mode缩进第一Sublime Pretty JSON好。这是我得到:

{

安装

在崇高的文本2:优先=>包控制=>安装包=> “漂亮的Json”=>重启崇高=>选择JSON文本=>新闻:

  • Linux系统:CTRL + ALT + J
  • Vindovs:tstrl + ALT + J
  • OS X:CMD + Ctrl + J键

0
投票

这个答案是相似的:[ { "settings": [ "master" ], "appPort": "8666", "specs": { "frame": { "type": "HTMLFrameMojit", "config": { "deploy": true, "child": { "type": "HelloWorldMojit" }, "assets": { "top": { "css": [ "/static/HelloWorldMojit/assets/index.css" ] } } } } } }, { "settings": [ "environment:development" ], "staticHandling": { "forceUpdate": true } } ] ,但我使用Python文件做JSON格式。 退出https://stackoverflow.com/a/19429447/2987755应用程序,如果它是开放的, 把下面的脚本bbedit

pretty-json.py路径

~/Library/Application\ Support/BBEdit/Text\ Filters/
  1. 在打开的BBEdit一个JSON文件。
  2. 选择文本>文字过滤> pretty-json.py

使用上面的脚本,如果你面对的格式错误的任何问题,脚本将在新文件中添加错误并不会改变原来的JSON。

参考:#!/usr/bin/env python # You can change above she-bang line depending on your Mac configuration import sys import json def main(): input = sys.stdin.read() try: obj = json.loads(input) except Exception as e: print input + "\n\nERROR: " + str(e) return 1 print(json.dumps(obj, indent=2)) return 0 if __name__ == '__main__': sys.exit(main())

欲了解更多信息:请参阅https://gist.github.com/brokaw/95ade1358954cd97d0f2c8e992e14b08

注:以上过滤器将是缓慢的尺寸为40MB〜的文件, 为了更快的JSON格式,安装this jq 在同一添加brew install jq文件与上述文件的位置,重新启动的BBEdit。

fast-json-pretty.sh
© www.soinside.com 2019 - 2024. All rights reserved.