PHP或Javascript有一个很好的JSON格式化程序库吗?

时间:2011-01-10 18:07:19

标签: php javascript json

在我自己编写代码之前,我想知道是否有一个库,对于PHP或Javascript,可以使用单行JSON字符串并使用制表符和换行符对其进行格式化,以便于阅读。

以下是一个在线工具:http://www.jsonlint.com/

我只需要格式化字符串,不需要验证。

谢谢!

8 个答案:

答案 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)

这是我最近使用的一个:

https://gist.github.com/773216

答案 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,这样你就不会看到它们。