我有一个带有3个嵌套数组的简单php结构。
我不使用特定的对象,而是使用2个嵌套循环构建数组。
这是我要转换为Json的数组的var_dump的示例。
array (size=2)
'tram B' =>
array (size=2)
0 =>
array (size=3)
'name' => string 'Ile Verte' (length=9)
'distance' => int 298
'stationID' => int 762
1 =>
array (size=3)
'name' => string 'La Tronche Hôpital' (length=18)
'distance' => int 425
'stationID' => int 771
16 =>
array (size=4)
0 =>
array (size=3)
'name' => string 'Bastille' (length=8)
'distance' => int 531
'stationID' => int 397
1 =>
array (size=3)
'name' => string 'Xavier Jouvin' (length=13)
'distance' => int 589
'stationID' => int 438
在另一个脚本中,我具有类似的结构并且json_encode
工作正常。所以我不明白为什么json_encode
在这里不起作用。
编辑:似乎与编码有问题。当mb_detect_encoding
返回ASCII,该json_encode
作品但当它返回UTF8,它不工作了。
Edit2:json_last_error()
返回JSON_ERROR_UTF8
,表示:格式错误的UTF-8字符,可能编码不正确。
utf8_encode()
在name
数组字段上使用json_encode()
。
JSON_PARTIAL_OUTPUT_ON_ERROR
选项查看问题(例如,带有UTF8的字段为空)。
This function only works with UTF-8 encoded data.
因此编码应该没有任何问题。