我在MySQL数据库中有这样的JSON字符串

{
    "string1": {
        "substring1": 1234
    },
    "string2": {
        "substring2": "substring2.1",
        "substring3": "substring3.1",
        "substring4": {
            "substring4.1": 1234,
            "substring4.2": 1234,
            "substring4.3": 1234
        }
    }
}


我将来自MySQL的数据放入$ string,然后使用此函数对其进行解码

$json_a = json_decode($string,true);
echo $json_a['string1']['substring1'];


但是结果什么都没有。
然后我尝试将$ string更改为

$string = '{"string1":{"substring1":1234},"string2":{"substring2":"substring2.1","substring3":"substring3.1","substring4":{"substring4.1":1234,"substring4.2":1234,"substring4.3":1234}}}';


接下来,我使用与上述相同的功能,并且工作正常。
从mysql解码之前,有什么特别的事情要做吗?

谢谢

最佳答案

您拥有的数据的外层不是数组,实际上您根本没有任何数组。不要在PHP中使用[0]

07-24 17:11