未捕获到的SyntaxError:意外令牌[与JSON.parse

时间:2019-08-21 10:15:42

标签: javascript json

我正在尝试解析来自HTTP的字符串。字符串看起来像

[
    {
        "apiVersion": "ocs.openshift.io/v1alpha1",
        "kind": "StorageCluster",
        "metadata": {
            "name": "example-storagecluster",
            "namespace": "openshift-storage"
        },
        "spec": {
            "manageNodes": false
        }
    },

 ]

分析此字符串会出现此错误:

  

未捕获到的SyntaxError:意外令牌[带有JSON.parse

有人可以帮助我如何解析此字符串并获取[]中的值。预先感谢。

3 个答案:

答案 0 :(得分:1)

最后一个}后的逗号是不允许的。

答案 1 :(得分:0)

这是代码。我在后台脚本中执行,它可以正确给出值

var string = '[{"UserID":"10001","Name":"Ram"},{"UserID":"10002","Name":"Sultana"},{"UserID":"10003","Name":"Lakshmi"}]';


var parser = new JSONParser();
var parsedData = parser.parse(string);
var length = parsedData.length;

gs.print(length);



for(var i=0;i<length;i++){

gs.print(parsedData[i].UserID); 
gs.print(parsedData[i].Name);

}

如果这可以解决您的问题,则将其标记为“正确”,如果根据影响发现我的回答值得,请点击“喜欢”和“有用”。

答案 2 :(得分:0)

那不是有效的JSON文档。如果没有其他方法,您可以始终使用https://jsonlint.com/来验证文档。

在您的情况下,JSON文档中的逗号过多:

[
    {
        "apiVersion": "ocs.openshift.io/v1alpha1",
        "kind": "StorageCluster",
        "metadata": {
            "name": "example-storagecluster",
            "namespace": "openshift-storage"
        },
        "spec": {
            "manageNodes": false
        }
    }
]

enter image description here

相关问题