编辑:在Stack Overflow中粘贴代码使其有效。因此,将神秘的制表符字形渲染到空格键中。使用制表符字形,JSON无法正常工作。更多信息可以在我的评论下面找到。
我有这个JSON列表:
[{"title": "<U><b>01420111</U></b> General Physics I","locations": "หมู่ 1 ห้อง PHYS 101<br>กุลพันธ์ <br> เวลา: 11:00-12:30","start": 240, "end": 330, "color": "#009688"},{"title": "<U><b>01417167</U></b> Engineering Mathematics I","locations": "หมู่ 1 ห้อง LH 3-304<br>ชาญ,กนกรัตน์ <br> เวลา: 13:00-14:30","start": 360, "end": 450, "color": "#00bcd4"}]
,为了阅读的目的,可以缩进到这个
[
{
"title": "<U><b>01420111</U></b> General Physics I",
"locations": "หมู่ 1 ห้อง PHYS 101<br>กุลพันธ์ <br> เวลา: 11:00-12:30",
"start": 240,
"end": 330,
"color": "#009688"
},
{
"title": "<U><b>01417167</U></b> Engineering Mathematics I",
"locations": "หมู่ 1 ห้อง LH 3-304<br>ชาญ,กนกรัตน์ <br> เวลา: 13:00-14:30",
"start": 360,
"end": 450,
"color": "#00bcd4"
}
]
在我尝试解析JSON后,could be tried online here似乎JSON_decode()
函数返回null而不是期望的数组。
有关JSON语法的任何建议,以及“修复”语法的解决方案,使PHP正确解码?提前谢谢〜
答案 0 :(得分:0)
您的JSON有效,json_decode
工作正常。查看this demo。
您链接的网站显示相同的结果。您可能正在将json_decode
应用于非JSON文本,或者您错误地键入了函数名称(json_decode
区分大小写,因此JSON_decode
将失败)。以下是如何使用json进行错误检查:
$json_string = '...';
$parsed = json_decode($json_string); // <- not JSON_decode
//check for error and handle it however makes sense
if(json_last_error()) die(json_last_error_msg());
//safe to continue. parsing successful
答案 1 :(得分:0)
谢谢,现在我意识到了这个错误,它位于JSON的空白处。
Stack Overflow似乎用正常的空格键替换JSON中的神秘字形,使得JSON对解析有效。 However, the original JSON, which contains the mysterious glyph, now pasted on Pastebin to preserve its glyph,无法解析。
观察原始粘贴数据中“กุลพันธ์”背后的空间。字形与普通空格键不同。
接下来的问题是1)我怎么知道哪个字形是,2)如何用PHP中的普通空格替换它?
感谢您愿意再次提供帮助!