JSON解析错误:应为“字符串”

yuvru6vn  于 2022-12-24  发布在  其他
关注(0)|答案(5)|浏览(133)

我正在使用JSONLint解析一些JSON,但一直收到错误:
错误:第1行出现分析错误:[{"产品":[{"

  • --^应为"字符串"、"}",得到"未定义"
    这是密码:
[
    {
        “product” :  [ { “code” : “Abc123”, “description” : “Saw blade”, “price” : 34.95 } ],
        “vendor” : [ { “name” : “Acme Hardware”, “state” : “New Jersey” } ]
    },

    {
        “product” :  [ { “code” : “Def456”, “description” : “Hammer”, “price” : 22.51 } ],
    },

    {
        “product” :  [ { “code” : “Ghi789”, “description” : “Wrench”, “price” : 12.15 } ],
        “vendor” : [ { “name” : “Acme Hardware”, “state” : “New Jersey” } ]
    },

    {
        “product” :  [ { “code” : “Jkl012”, “description” : “Pliers”, “price” : 14.54 } ],
        “vendor” : [ { “name” : “Norwegian Tool Suppliers”, “state” : “Kentucky” } ]
    }
]
5n0oy7gb

5n0oy7gb1#

JSON字符串文字必须使用普通引号字符("),而不是智能引号(“”)。

emeijp43

emeijp432#

您使用了一些unicode双引号字符。请将其替换为普通的"双引号。
在第二个元素的末尾还多了一些逗号。
现在没事了

[
    {
        "product" :  [ { "code" : "Abc123", "description" : "Saw blade", "price" : 34.95 } ],
        "vendor" : [ { "name" : "Acme Hardware", "state" : "New Jersey" } ]
    },

    {
        "product" :  [ { "code" : "Def456", "description" : "Hammer", "price" : 22.51 } ]
    },
    {
        "product" :  [ { "code" : "Ghi789", "description" : "Wrench", "price" : 12.15 } ],
        "vendor" : [ { "name" : "Acme Hardware", "state" : "New Jersey" } ]
    },
    {
        "product" : [ { "code" : "Jkl012", "description" : "Pliers", "price" : 14.54 } ],
        "vendor" : [ { "name" : "Norwegian Tool Suppliers", "state" : "Kentucky" } ]
    }
]
rslzwgfq

rslzwgfq3#

JSON必须使用普通的引号字符(“),而不是字符串文字的智能引号(“”)。
要获取JSON数据格式的普通引用:右键单击浏览器窗口并选择-查看页面源。

jk9hmnmh

jk9hmnmh4#

这就是我保存MySQL文本格式并获取json_decode数据的方法

[{"5":[29,30,5],"6":[1,2,3],"7":[4,5,6]}]

$row_days= $rows['days'];

var_dump(json_decode($row_days, true));

结果数组(大小=1)

0 => array (size=3) 5 => array (size=3) 0 => int 29 1 => int 30 2 => int 5 6 => array (size=3) 0 => int 1 1 => int 2 2 => int 3 7 => array (size=3) 0 => int 4 1 => int 5 2 => int 6
tjjdgumg

tjjdgumg5#

很多时候,此错误是由以下操作引起的:

object.age = 31

而不是正确的方式

object["age"] = 31

相关问题