可能重复:
如何以编程方式美化JSON?
我知道如何使用JSON.stringify从对象生成JSON,或者在我的情况下从google代码(https://github.com/krinkle/jquery-json)生成方便的jquery-json .
现在这种方法很好,但输出很难为人类阅读.是否有简单的方法/功能/输出整齐格式的json文件?
这就是我的意思:
JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}});
Run Code Online (Sandbox Code Playgroud)
使..
"{"a":1,"b":2,"c":{"d":1,"e":[1,2]}}"
Run Code Online (Sandbox Code Playgroud)
我喜欢这样的东西:
{
"a":1,
"b":2,
"c":{
"d":1,
"e":[1,2]
}
}
Run Code Online (Sandbox Code Playgroud)
例如添加了换行符和标签.阅读更大的文档要容易得多.
我想在没有添加任何大型库的情况下理想地执行此操作 - 例如,不是原型或YUI或其他任何东西.
你知道JavaScript的"JSON Beautifier"吗?
从
{"name":"Steve","surname":"Jobs","company":"Apple"}
Run Code Online (Sandbox Code Playgroud)
至
{
"name" : "Steve",
"surname" : "Jobs",
"company" : "Apple"
}
Run Code Online (Sandbox Code Playgroud)
例
some_magic(jsonObj); // return beautified JSON
Run Code Online (Sandbox Code Playgroud) 我很好奇,是否有任何方式打印格式化numpy.arrays,例如,以类似于这样的方式:
x = 1.23456
print '%.3f' % x
Run Code Online (Sandbox Code Playgroud)
如果我想打印numpy.array浮点数,它会打印几个小数,通常采用"科学"格式,即使对于低维数组也很难读取.但是,numpy.array显然必须打印成一个字符串,即用%s.这有解决方案吗?
我希望Stack<Integer>像Eclipse调试器一样打印一个对象(即[1,2,3...]),但打印它out = "output:" + stack不会返回这个好结果.
为了澄清,我在谈论Java的内置集合,所以我无法覆盖它toString().
如何获得堆栈的可打印版本?
我正在使用json-simple,我需要漂亮地打印JSON数据(使其更具人性化).
我无法在该库中找到此功能.这通常是如何实现的?
当使用Express for Node.js时,我注意到它输出的HTML代码没有任何换行符或标签.虽然下载速度可能更高,但在开发过程中它的可读性并不高.
如何让Express输出格式良好的HTML?
如何格式化浮点数,使其不包含剩余的零?换句话说,我希望得到的字符串尽可能短..?
喜欢:
3 -> "3"
3. -> "3"
3.0 -> "3"
3.1 -> "3.1"
3.14 -> "3.14"
3.140 -> "3.14"
Run Code Online (Sandbox Code Playgroud) 有没有人知道在Go中漂亮打印JSON输出的简单方法?
股票http://golang.org/pkg/encoding/json/包似乎没有包含这方面的功能(编辑:它确实,看到接受的答案)和一个快速谷歌没有出现任何明显的东西.
我正在寻找的用途是非常印刷结果,json.Marshal只是从任何地方格式化一个充满JSON的字符串,因此为了调试目的更容易阅读.
这是我的JSON字符串:
{"attributes":[{"nm":"ACCOUNT","lv":[{"v":{"Id":null,"State":null},"vt":"java.util.Map","cn":1}],"vt":"java.util.Map","status":"SUCCESS","lmd":13585},{"nm":"PROFILE","lv":[{"v":{"Party":null,"Ads":null},"vt":"java.util.Map","cn":2}],"vt":"java.util.Map","status":"SUCCESS","lmd":41962}]}
Run Code Online (Sandbox Code Playgroud)
我需要将上面的JSON String转换为Pretty Print JSON Output(使用Jackson),如下所示:
{
"attributes": [
{
"nm": "ACCOUNT",
"lv": [
{
"v": {
"Id": null,
"State": null
},
"vt": "java.util.Map",
"cn": 1
}
],
"vt": "java.util.Map",
"status": "SUCCESS",
"lmd": 13585
},
{
"nm": "PROFILE
"lv": [
{
"v": {
"Party": null,
"Ads": null
},
"vt": "java.util.Map",
"cn": 2
}
],
"vt": "java.util.Map",
"status": "SUCCESS",
"lmd": 41962
}
]
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以根据我上面的例子给我一个例子吗?如何实现这种情况?我知道有很多例子,但我无法正确理解这些例子.通过一个简单的例子可以获得任何帮助.
更新:
以下是我使用的代码:
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.defaultPrettyPrintingWriter().writeValueAsString(jsonString));
Run Code Online (Sandbox Code Playgroud)
但这不适用于我需要输出的方式,如上所述.
这是我用于上述JSON的POJO:
public class UrlInfo implements …Run Code Online (Sandbox Code Playgroud) 我JSON.stringify是一个json对象
result = JSON.stringify(message, my_json, 2)
Run Code Online (Sandbox Code Playgroud)
在2上面的说法应该是相当打印结果.如果我这样做,它会这样做alert(result).但是,我想通过将其附加到div中来将其输出给用户.当我这样做时,我只会出现一行.(我不认为它有效,因为中断和空格不被解释为html?)
{ "data": { "x": "1", "y": "1", "url": "http://url.com" }, "event": "start", "show": 1, "id": 50 }
Run Code Online (Sandbox Code Playgroud)
有没有办法以JSON.stringify漂亮的打印方式将结果输出到div?
pretty-print ×10
json ×6
java ×3
javascript ×3
formatting ×2
python ×2
debugging ×1
express ×1
go ×1
html ×1
jackson ×1
json-simple ×1
node.js ×1
numpy ×1
pug ×1
python-2.x ×1
stringify ×1