json字符串更多时候需要后台动态变化,即使明白{}为对象,[]为数组,但很多字符串结构比较复杂,诸如 [ ['USD', 58.9], ['BTC', 13.29], ['TCN', 13], { name: 'Other', y: 7.61, dataLabels: { enabled: false } } ],写错了就会出问题。
试错多次仍不能成功,与其一次次试,不如反其道而行之,通过json_decode解析结构。
json_decode($json)解析为object(stdClass),添加json_decode($json,true)解析为数组。
error_reporting(-1);加在页面可提供出错的信息
$tStr = '[["type","pie"],["name","Browser share"],["innerSize","55%"],{"name":"Browser share","innerSize":"55%"}]';
$arr = json_decode($tStr,true);
print_r($arr);
输出Array ( [0] => Array ( [0] => type [1] => pie ) [1] => Array ( [0] => name [1] => Browser share ) [2] => Array ( [0] => innerSize [1] => 55% ) [3] => Array ( [name] => Browser share [innerSize] => 55% ) )
测试字符串外面用‘’,内容以""可正确解析,反之则为空,不知原因。
文章讲述了在处理复杂的JSON字符串时遇到的挑战,建议使用PHP的json_decode函数进行解析,并指出添加第二个参数true可以将结果转换为数组。通过示例展示了json_decode的用法,并提到了错误处理方法error_reporting。还注意到字符串的引号类型会影响解析结果。
1153

被折叠的 条评论
为什么被折叠?



