JSON Parse Error: Expecting 'STRING'

2020-07-02 22:38发布

问题:

I am using JSONLint to parse some JSON and i keep getting the error:

Error: Parse error on line 1: [{“ product”: [{“
---^ Expecting 'STRING', '}', got 'undefined'

This is the code:

[
    {
        “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” } ]
    }
]   

回答1:

JSON string literals must use normal quote characters ("), not smart quotes (“”).



回答2:

You're using some unicode double quotes characters. Replace them with the normal " double quotes.

You also had some extra comma at the end in the second element.

Now it's alright

[
    {
        "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" } ]
    }
]


标签: json