我不使用特定的对象,而是使用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时,它就无法工作了。编辑2:
json_last_error()
返回JSON_ERROR_UTF8
,这意味着:UTF-8字符格式错误,可能编码不正确。
json_encode()
之前,尝试对您的name
数组字段使用utf8_encode()
。 - MahanGMJSON_PARTIAL_OUTPUT_ON_ERROR
选项 查看问题(例如,带有 UTF8 的字段将为 null)。 - Peter Krauss成功时返回JSON编码的字符串,失败时返回false
。但是没有人回答为什么返回空字符串而不是false。 - Phil