php - 从 MySQL 解码 JSON

标签 php mysql json decode encode

我在 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]

关于php - 从 MySQL 解码 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28296766/

相关文章:

php - 使用外部 IP 访问 Linux vps 中的文件的最佳和最简单的方法是什么?

mysql - 使用不同列进行 SQL 分组

c# - 如何才能使只有登录用户才能查看自己的成绩?

c++ - 在 C++ 中向多态树添加功能

python - 来自 read_json() 的 Pandas 数据帧的时间戳索引

php - 从数据库中获取的字段长度的奇怪问题

javascript - 受javascript影响后如何恢复到原来的DOM

java - 使用 JDBC 驱动程序将 CJK 表单提交到 MySQL

JSON 注释的可能性

php - Laravel - 我可以在 Controller 中重复使用验证器实例吗?