JSON响应解析错误 - Javascript

时间:2017-09-27 07:58:53

标签: javascript android ios json

我有来自API的以下JSON响应。

{
    "status": true,
    "cakes": {
        "7689": {
            "id": 7689,
            "flavor": "chocolate",
            "cookDetails": {
                "id": 101,
                "firstName": "Name1",
                "lastName": "LastName1"
            }
        },
        "7690": {
            "id": 7690,
            "flavor": "vanilla",
            "cookDetails": {
                "id": 102,
                "firstName": "Name2",
                "lastName": "LastName2"
            }
        }
    }
}

我用来解析这个JSON的语言:Javascript

框架:ReactNative

我的问题是:

1。 JSON格式是否正确?

2。如果是,那么我该如何解析它(注意:在解析之前我不知道蛋糕中id的值)?

PS:框架新手。十分感谢。

2 个答案:

答案 0 :(得分:1)

尝试使用它,

{
    "status": true,
    "cakes": [{
        "id": 7689,
        "flavor": "chocolate",
        "cookDetails": {
            "id": 101,
            "firstName": "Name1",
            "lastName": "LastName1"
        }
    }, {
        "id": 7690,
        "flavor": "vanilla",
        "cookDetails": {
            "id": 102,
            "firstName": "Name2",
            "lastName": "LastName2"
        }
    }]
}

for ReactNative检查:https://facebook.github.io/react-native/docs/network.html http://www.9lessons.info/2017/04/react-native-json-parsing-and-helper.html


  

请注意以下代码HTML JavaScript供您理解。


var obj = JSON.parse('{"status": true,"cakes": [{"id": 7689,"flavor": "chocolate","cookDetails": {"id": 101,"firstName": "Name1","lastName": "LastName1"}},{"id": 7690,"flavor": "vanilla","cookDetails": {"id": 102,"firstName": "Name2","lastName": "LastName2"}}]}');

<!DOCTYPE html>
<html>
<body>

<h2>Create Object from JSON String</h2>

<p id="demo"></p>

<script>

var obj = JSON.parse('{"status": true,"cakes": [{"id": 7689,"flavor": "chocolate","cookDetails": {"id": 101,"firstName": "Name1","lastName": "LastName1"}},{"id": 7690,"flavor": "vanilla","cookDetails": {"id": 102,"firstName": "Name2","lastName": "LastName2"}}]}');
document.getElementById("demo").innerHTML = obj.cakes[0].id +", "+ obj.cakes[0].flavor+", "+obj.cakes[0].cookDetails.id+", "+obj.cakes[0].cookDetails.firstName+", "+obj.cakes[0].cookDetails.lastName;

</script>

</body>
</html>

答案 1 :(得分:-1)

这是有效的JSON(只删除了额外的逗号):

{
    "status": true,
    "cakes": {
        "7689": {
            "id": 7689,
            "flavor": "chocolate",
            "cookDetails": {
                "id": 101,
                "firstName": "Name1",
                "lastName": "LastName1"
            }
        },
        "7690": {
            "id": 7690,
            "flavor": "vanilla",
            "cookDetails": {
                "id": 102,
                "firstName": "Name2",
                "lastName": "LastName2"
            }
        }
    }
}

您可以使用普通的JSON.parse调用

来解析它