Как получить значение из массива объектов с помощью анализа JSON в appcelerator - PullRequest
1 голос
/ 17 марта 2011

Предположим, поддельный ответ JSON, у меня есть эта строка JSON ...

[{"A":"1","B":{"name":"joe","lastname":"jones"},"COLORS:{"red":"rojo","blue":"azul"},"active":"yes"}]

Я хочу получить имя "Джо", это то, что я думал: в JAVASCRIPT для приложения для iPhone!

var json = this.responseText;
var response = JSON.parse(json);

alert("hi " + response.B.name);
//the output should be " hi joe"!! 

но ответа нет ... предупреждение гаснет ... любая помощь будет оценена

rupGo

Ответы [ 2 ]

3 голосов
/ 17 марта 2011

Ваш опубликованный пример имеет некоторые синтаксические проблемы.Я предполагаю, что это просто ошибка в подготовке вашего примера, а не на самом деле в вашем коде.Исправленный и отформатированный, он выглядит следующим образом:

[
    {
        "A": "1",
        "B": {
            "name": "joe",
            "lastname": "jones"
        },
        "COLORS": {
            "red": "rojo",
            "blue": "azul"
        },
        "active": "yes"
    }
]

В вашем примере ответа 'response' - это массив с одним элементом.Этот предмет является объектом, обладающим свойством «B» (среди прочих).Таким образом, вы получите доступ:

response[0].B.name
3 голосов
/ 17 марта 2011
alert("hi " + response[0].B.name);

Ваш ответ является массивом с объектом в качестве первого элемента

...