Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Работа с JSON (https://javascript.ru/forum/extjs/29432-rabota-s-json.html)

TSEH25 27.06.2012 19:00

Работа с JSON
 
Всем привет,
Собственно вопрос, есть JSON ответ:
{
items: [
{
system_id: 1,
id: 328,
device_works: [
{
work_type_id: 4,
id: 1272,
weeks_string: "25"
},
{
work_type_id: 1,
id: 1273,
weeks_string: "4,8,17,21,29,34,42,47"
},
{
work_type_id: 3,
id: 1274,
weeks_string: "51"
},
{
work_type_id: 2,
id: 1275,
weeks_string: "12,38"
}
],
system_title: " Детский клуб. Вытяжные системы",
name: "В1(5) Детский клуб 1 этаж"
},
{
system_id: 1,
id: 329,
device_works: [
{
work_type_id: 4,
id: 1268,
weeks_string: "25"
},
{
work_type_id: 1,
id: 1269,
weeks_string: "4,8,17,21,29,34,42,47"
},
{
work_type_id: 3,
id: 1270,
weeks_string: "51"
},
{
work_type_id: 2,
id: 1271,
weeks_string: "12,38"
}
],
system_title: " Детский клуб. Вытяжные системы",
name: "В2(5)_6 тех.этаж. "
}

Как мне парсить эту строку? чтобы потом работать с ней? Мне нужно вытащить строку weeks_string, заранее спасибо все откликнувшимся!

devote 27.06.2012 19:05

var json = JSON.parse('{"items": [{"system_id": 1,"id": 328,"device_works": [{"work_type_id": 4,"id": 1272,"weeks_string": "25"}]}]}');

alert( json.items[0].device_works[0].weeks_string);
а вообще у вас не валидный JSON так как имена свойств, должны быть в двойных кавычках

TSEH25 28.06.2012 16:38

Загнал строку в store:
var store= {
            model : "App.models.Device",
            autoLoad : false,
            proxy : {
                url : '/url',
                type : 'rest',
                simpleSortMode : true,
                reader : {
                    type : 'json',
                    root : 'items'
                },
                writer : {
                    type : 'json',
                    writeAllFields : false,
                    root : "items",
                    encode : true
                }
            }
        };

Как мне достучаться до device_works?

store.getAt(1).get('id') и store.getAt(1).get('name') работают, а вот store.getAt(1).get('device_works') не работает? как достучаться??

TSEH25 28.06.2012 17:59

решил проблему.

iyntx 18.01.2014 04:17

Цитата:

Сообщение от TSEH25 (Сообщение 185007)
решил проблему.

ну написали бы решение ) в интирнетах то люди ищут же наверняка,
и ещё не указали фреймворк )


Часовой пояс GMT +3, время: 05:29.