为什么json文件没有分隔记录(PHP)
为什么json文件没有分隔记录(PHP)
我正在编写一个创建JSON文件的脚本。目前我只是使用json_encode
(PHP 5.2.x)将数组编码为JSON输出。然后我将返回的值打印到文件并保存。问题是客户希望能够打开这些JSON文件以便阅读,所以我想在JSON输出中添加换行并且"漂亮打印"。有什么好的方法吗?我唯一能想到的其他选择是根本不使用json_encode
,只需手动编写文件内容并为每一行添加自己的换行符。
这是我得到的:
{"product_name":"prod1","val1":1,"val2":8}
这是我想要的:
{
"product_name":"prod1",
"val1":1,
"val2":8
}
我想我也可以将每个逗号替换为逗号后跟\ n,括号也是如此... 你有什么想法吗?
为什么JSON文件没有分离记录?
在PHP中,使用$array = json_decode($json, true);
可以将JSON字符串转换为数组,并可以使用print_r($array, true);
以漂亮的方式打印数组。
但是,如果你真的想要美化你的JSON,可以参考这个链接。
或者,你可以使用die(print('<pre>'.print_r($var, true).'</pre>'))
语句进行调试,它几乎可以打印任何内容。
我通常只是查看源代码并使用var_dump
函数,但无论哪种方法都可以使用。
问题出现的原因是:没有将JSON文件的记录分离。
解决方法是:使用$array = json_decode($json, true);
将JSON字符串转换为数组,并使用print_r($array, true);
以漂亮的方式打印数组。如果想要更好的美化JSON,可以参考提供的链接。另外,可以使用die(print('<pre>'.print_r($var, true).'</pre>'))
语句进行调试,它可以打印几乎任何内容。
为什么JSON文件不能分隔记录(PHP)?
在PHP 5.4.0版本(发布日期:2012年3月1日)之后,PHP引入了JSON_PRETTY_PRINT选项。使用该选项可以实现我们想要的效果。
以下是代码示例:
$json = json_decode($string); echo json_encode($json, JSON_PRETTY_PRINT);
更多信息请参考:http://www.php.net/manual/en/function.json-encode.php
注意:如果在HTML中输出,不要忘记在输出之前添加"
",之后添加"
"以保持格式。
在PHP版本低于5.4的情况下,可以将JSON_PRETTY_PRINT替换为128。
在这个sandbox.onlinephpfunctions.com/code/…上测试时,它不能正常工作。
但是在我这里可以正常工作——我可以看到每个JSON键都在单独的行上(该网站使用的PHP版本甚至定义了JSON_PRETTY_PRINT)。
我以为共享代码时会保留PHP设置,现在看到了切换PHP版本的选项。是的,显然不仅添加了常量,而且主要是添加了功能。这是有道理的。
与其使用"
"标签(这将使您的JSON无效),不如使用header("Content-Type: application/json")
,然后您的浏览器将将其渲染为纯文本而不是标记。
为什么JSON文件不分隔记录(PHP)
在开发过程中,我们经常需要处理JSON格式的数据。然而,有时候我们会遇到一个问题,就是JSON文件中的记录没有被正确地分隔开来。下面我们来探讨一下这个问题的出现原因以及解决方法。
首先,让我们看一下如何优化JSON文件的函数:pretty_json。这个函数可以帮助我们更好地展示JSON数据,并使其更易读。
那么,为什么JSON文件中的记录没有被正确地分隔开来呢?可能有一些原因导致这个问题的出现。首先,我们需要考虑的是JSON文件本身的格式是否正确。确保JSON文件中的每个记录都以逗号分隔,这样才能正确地解析JSON数据。
另外,我们还需要检查一下代码中的问题。例如,在这个问题中,某些情况下了在Mac上安装PHP54的问题。但是,这个安装过程是否真的很复杂呢?实际上,在Mac上进行开发时,很可能已经安装了Homebrew。通过使用Homebrew,我们可以轻松地安装PHP54,而不需要花费太多的时间和精力。
所以,解决这个问题的方法是确保JSON文件格式正确,每个记录都以逗号分隔。另外,如果我们在Mac上进行开发,可以使用Homebrew来安装PHP54,这样就可以轻松解决安装问题。
总结起来,解决JSON文件不分隔记录的问题需要我们仔细检查JSON文件的格式和代码中可能存在的问题。通过确保JSON文件格式正确以及使用适当的工具,我们可以轻松地解决这个问题。