如何正确地将数组转换为 json 字符串?我正在从 amazon、ebay、flickr 和 freebase 获取数据,并且返回的一些数据不能安全地转换为 json。
这是我目前使用后得到的 json 字符串json_encode()
https://dl.dropbox.com/u/126688107/invalid_json.txt
我已经尝试过使用addslashes()
转义双引号。但我也得到带单引号的字符串,所以我也在使用str_replace("'", "\'", $string_with_single_quotes)
但我也得到了类似的东西:
"parent":null
"nodes":[]
我不知道它是否是有效的 json。我也addslashes()
明白这已经过火了:
It is the world\\\\\\'s
我需要的是一个工具,它可以指出是什么让我的 json 字符串无效。我试过这个http://sourceforge.net/projects/jsonschemaphpv/但它似乎无法识别具有多个项目的 json。它总是说它无效,因为我拥有的字符串被包裹在[]
有任何想法吗?
提前致谢!
更新
对于那些问为什么我认为这是无效的 json 的人。我实际上是将 json 字符串保存到数据库中,当我检索它并将json_decode($str, true)
其转换为数组时,它只是返回NULL