php自定义json_decode,一些值不包含双引号

时间:2012-07-30 20:45:52

标签: php json

我们的服务器没有最新的PHP版本,因此我无法使用json_decode。我尝试使用PEAR:http://mike.teczno.com/JSON/JSON.phps,但是数据集很大,并且它有30秒的超时错误 - 30秒是不可接受的运行时间。

我偶然发现了这个:http://www.php.net/manual/en/function.json-decode.php#108552 它几乎可以工作。

我的JSON采用以下形式:

[{"number1":3,"number2":5,"time":"Jul 30, 2012 1:05:07 PM","value1":"aa","value2":"bb"}]

如您所见,“number1”和“number2”字段的值不是双引号括起来的,这会破坏自定义的json_decode。

有谁知道如何修改或提供可以克服这个问题的json_decode?

2 个答案:

答案 0 :(得分:1)

正如评论中所建议的,我使用了http://include-once.org/p/upgradephp,这似乎是一个很好的json_decode()回退。

答案 1 :(得分:0)

添加PHP:

header("Content-type: application/json");

在您的javascript中,使用:

// Fetch the JSON text
var jsonFetch = $.ajax({
   url:"http://localhost/yourphp.php",
   async:false,
   cache:false,
}).responseText;
// Parse it so it will more formatted the right way
jsonData = JSON.parse(jsonFetch);