Ошибка синтаксического анализа ответа JSON - Javascript

1

У меня есть следующий ответ JSON, исходящий от API.

{
    "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: Новое в рамках. Большое спасибо.

  • 1
    Ваш JSON неверен , проверьте здесь jsonlint.com , у вас 3 бесполезных запятых. 2 в конце LastName и в самом конце
  • 0
    JSON неверен. Колон не допускается до {
Показать ещё 7 комментариев

2 ответа

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

для 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

Здесь действительный 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

  • 0
    Причина понижения?
  • 0
    Это не полный ответ, я думаю. Пожалуйста, знайте полный ответ, прежде чем отвечать на вопрос. Если у вас есть подсказка, просто идите с комментариями.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню