在我自己编写代码之前,我想知道是否有一个库,对于PHP或Javascript,可以使用单行JSON字符串并使用制表符和换行符对其进行格式化,以便于阅读。
以下是一个在线工具:http://www.jsonlint.com/
我只需要格式化字符串,不需要验证。
谢谢!
答案 0 :(得分:6)
如果你很高兴在Javascript中这样做,JSON.stringify
的现代变种有一个可选参数,它设置了漂亮的空格数。例如,使用该页面中的示例对象:
var foo = {foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7};
console.log(JSON.stringify(foo, null, 4));
输出:
{
"foundation": "Mozilla",
"model": "box",
"week": 45,
"transport": "car",
"month": 7
}
答案 1 :(得分:1)
不确定,但
print_r(json_decode($jsonStr));
除非你真的需要显示json,否则会传达大部分相同的信息。
从PHP 5.4开始,json_encode有一个新标志(JSON_PRETTY_PRINT)
echo json_encode($data, JSON_PRETTY_PRINT);
答案 2 :(得分:1)
这是我最近使用的一个:
答案 3 :(得分:1)
尝试\ Zend_Json :: prettyPrint();
$json = json_encode($myData);
echo Zend_Json::prettyPrint($json, array("indent" => " "));
http://framework.zend.com/manual/en/zend.json.basics.html#zend.json.basics.prettyprint
答案 4 :(得分:0)
PHP手册中有一个简单的格式化功能:
http://www.php.net/manual/en/function.json-encode.php#80339
如果您想在PHP中使用最好的JSON漂亮打印机,请使用:
$json = escapeshellcmd($json);
$json = `echo '$json' | python -m json.tool`;
答案 5 :(得分:0)
如果您只是想检查JSON对象本身以进行调试
<?php
echo "<pre>" . print_r(json_decode( $json_object_as_flat_string, true )) . "</pre>"
或在Firebug / Webkit控制台中执行
console.log($json_data)
如果需要在HTML输出中显示对象,请查看类似的内容 http://james.padolsey.com/javascript/prettyprint-for-javascript/
答案 6 :(得分:0)
对于Javascript,请使用http://www.json.org/js.html处提供的JSON库(json2.js)
您的JSON必须有效,但这只是一个简单的问题:
JSON.stringify(JSON.parse(your_json_string), null, " ")
,其中最后一个参数是用于缩进的字符串(在本例中为2个空格)
答案 7 :(得分:0)
我使用perltidy,它确实会抱怨,但它不会伤害任何东西,并且它会使json看起来更加糟糕...而且已经有一半时间已经在机器上已经有了perltidy(当你在某人身上跑步时很好elses机器没有安装权限)
perltidy -se myfile.json -o myfile-formatted.json
如果您不喜欢.ERR文件显示,因为它实际上不是perl文件,将会。然后你可以添加-se &> /dev/null
到那个结尾,告诉perltidy将错误打印到stdout,并将任何消息重定向到/ dev / null,这样你就不会看到它们。