Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有适合PHP或JavaScript的JSON格式化程序库吗?_Php_Javascript_Json - Fatal编程技术网

有适合PHP或JavaScript的JSON格式化程序库吗?

有适合PHP或JavaScript的JSON格式化程序库吗?,php,javascript,json,Php,Javascript,Json,在我自己编写一个之前,我想知道是否有一个库,用于PHP或JavaScript,可以获取一行JSON字符串,并使用制表符和换行符对其进行格式化,以便易于阅读 以下是一个在线工具,可实现此功能: 我只需要格式化字符串,不需要验证。不确定,但是 print_r(json_decode($jsonStr)); 除非您真的需要显示json,否则会传递大部分相同的信息 从PHP5.4开始,有一个新的标志(JSON_PRETTY_PRINT)用于 PHP手册中有一个简单的格式化函数: 如果您想要PHP中最

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

以下是一个在线工具,可实现此功能:

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

不确定,但是

print_r(json_decode($jsonStr));
除非您真的需要显示json,否则会传递大部分相同的信息

从PHP5.4开始,有一个新的标志(JSON_PRETTY_PRINT)用于


PHP手册中有一个简单的格式化函数:

如果您想要PHP中最好的JSON漂亮打印机,请使用:

 $json = escapeshellcmd($json);
 $json = `echo '$json' | python -m json.tool`;

如果您只是尝试检查JSON对象本身以进行调试

<?php
  echo "<pre>" . print_r(json_decode( $json_object_as_flat_string, true )) . "</pre>"
如果需要在HTML输出中显示对象,请查看以下内容

如果您乐于使用Javascript,那么现代的各种类型都有一个可选参数,用于设置要打印的空格数。例如,使用该页面中的示例对象:

{
    "foundation": "Mozilla",
    "model": "box",
    "week": 45,
    "transport": "car",
    "month": 7
}
这将产生:

$json = json_encode($myData);
echo Zend_Json::prettyPrint($json, array("indent" => " "));

对于Javascript,请使用JSON库(json2.js),该库位于

您的JSON必须有效,但这只是一个简单的问题:


JSON.stringify(JSON.parse(您的_JSON_字符串),null,”
,其中最后一个参数是用于缩进的字符串(本例中为2个空格)

我最近使用了一个:


试试\Zend_Json::prettyPrint()


我使用perltidy,它确实会抱怨,但它不会伤害任何东西,而且它让乱七八糟的json看起来更好。。。有一半的时间你已经在一台机器上安装了perltidy(当你在另一台没有安装Priv的机器上运行时很好)

如果您不喜欢显示.ERR文件,因为它实际上不是一个perl文件,那么将显示它。然后,您只需在末尾添加
-se&>/dev/null
,它告诉perltidy将错误打印到stdout,并将任何消息重定向到/dev/null,这样您就不会看到它们了。

以JSON.stringify(object,null,'\t')的形式调用;让它看起来很漂亮
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
}
$json = json_encode($myData);
echo Zend_Json::prettyPrint($json, array("indent" => " "));
perltidy -se myfile.json -o myfile-formatted.json