json在php问题中解码

时间:2013-01-28 16:07:49

标签: php javascript json

我在php中有一个fallowing字符串:

    $code = "[[],["Mon","01","  1.7","  8","3"," 96","33","
29.01.2013"],["Tue","01","  0.3"," 24","2","100","16","
30.01.2013"],["Wed","01","  5.4"," 28","2"," 98","5","
31.01.2013"],["Thu","01","  8.7"," 22","3"," 92","23","
01.02.2013"],["Fri","01","  5.1"," 43","3"," 91","22","
02.02.2013"],["Sat","01","  2.8"," 18","2"," 90","22","
03.02.2013"],["Sun","01","  2.1"," 31","6"," 93","34","
04.02.2013"]]";

现在我尝试用json_decode解码这个字符串。但结果就是这个:

NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL

要输出的代码是:

$code = json_decode($code);
print_r($code);

为什么这不起作用?这是我第一次遇到json_decode问题......

3 个答案:

答案 0 :(得分:3)

假设$code的内容都在一个字符串中(而不是像现在的语法那样的php数组),错误就是你在字符串中有换行符。

["Mon","01","  1.7","  8","3"," 96","33","

请注意该行尾的开放引号是如何产生无效的JSON。

如果你摆脱了所有的新行,它确实可行。这是我的证明:

array(8) {
  [0]=>
  array(0) {
  }
  [1]=>
  array(8) {
    [0]=>
    string(3) "Mon"
    [1]=>
    string(2) "01"
    [2]=>
    string(5) "  1.7"
    [3]=>
    string(3) "  8"

答案 1 :(得分:0)

它不起作用,因为它不是有效的JSON。您可以在此处找到正确的JSON格式:http://www.w3schools.com/json/default.asp

答案 2 :(得分:0)

这似乎不是一个有效的json字符串。如果你尝试使用有效的json字符串,你会得到所需的结果

<?php
$code=... //a valid json string
$result=json_decode($code,true); // now $result will contain an associative array
print_r($result);

&GT;