как попасть внутрь этого списка? также может быть для цикла? - PullRequest
0 голосов
/ 19 января 2012
(
    {"resultList":
        [
            {"compSymbol":"OTCM", "secId":12345, "inserterName":"Bob", "adStartDate":new Date(1326258000000), "adEndDate":new Date(1326258001000)}, 
            {"compSymbol":"OTCM", "secId":12345, "inserterName":"Bob", "adStartDate":new Date(1326171600000), "adEndDate":new Date(1326171601000)}, 
            {"compSymbol":"OTCM", "secId":7, "inserterName":"Bob", "adStartDate":new Date(1325480410000), "adEndDate":new Date(1325536200000)}, 
            {"compSymbol":"OTCM", "secId":4, "inserterName":"Bob", "adStartDate":new Date(1325433601000), "adEndDate":new Date(1325394001000)}, 
            {"compSymbol":"OTCM", "secId":3, "inserterName":"Bob", "adStartDate":new Date(1325430001000), "adEndDate":new Date(1325433600000)}, 
            {"compSymbol":"OTCM", "secId":2, "inserterName":"Bob", "adStartDate":new Date(1325426401000), "adEndDate":new Date(1325430000000)}, 
            {"compSymbol":"OTCM", "secId":1, "inserterName":"Bob", "adStartDate":new Date(1325422801000), "adEndDate":new Date(1325426400000)}, 
            {"compSymbol":"OTCM", "secId":5, "inserterName":"Bob", "adStartDate":new Date(1325394002000), "adEndDate":new Date(1325440800000)}
        ], 

        [
            "totalRecords":0
        ], 

        [
            "pages":0
        ], 

        [
            "currentPage":0
        ], 

        [
            "pageSize":20
        ]
    }
)

Это результат, который я получаю, когда звоню в json.Может кто-нибудь помочь мне с этим разобраться?

Мне нужно извлечь compSymbol, secId, name, adStart, adEnd

Как мне извлечь их все, используя цикл for?

Я использовал:

for(var key in value)
{
    this.createRow(t, value[0].adEndDate, value[0].adStartDate...
}

Тогда я понимаю, что для этого потребуются целые числа ...

Пожалуйста, помогите !!

РЕДАКТИРОВАТЬ Мне не нужны totalRecords, pages, currentPage, pageSize, мне нужно только то, что находится внутри resultList

Ответы [ 2 ]

4 голосов
/ 19 января 2012

Это не допустимый JSON:

 {"resultList":
        [
        //...
        ], 
        [
        //...
        ], 
        [
        //...
        ], 
        [
        //...
        ], 
        [
        //...
        ]
    }

Содержимое resultList не является ни литералом объекта, ни массивом. Это просто набор литералов, разделенных запятыми. Также весь объект заключен в круглые скобки (()), которые никогда не появляются в допустимом формате JSON (возможно, только проблема форматирования).

Вот как это должно выглядеть:

 {"resultList": [
        [
        //...
        ], 
        [
        //...
        ], 
    ]
}

Обратите внимание на дополнительные открывающие и закрывающие квадратные скобки. Теперь свойство resultList имеет значение массива, и каждый элемент этого массива является самим массивом.

1 голос
/ 19 января 2012
{"resultList": [
        {"compSymbol":"OTCM", "secId":12345, "inserterName":"Bob", "adStartDate":new Date(1326258000000), "adEndDate":new Date(1326258001000)}, 
        {"compSymbol":"OTCM", "secId":12345, "inserterName":"Bob", "adStartDate":new Date(1326171600000), "adEndDate":new Date(1326171601000)}, 
        {"compSymbol":"OTCM", "secId":7, "inserterName":"Bob", "adStartDate":new Date(1325480410000), "adEndDate":new Date(1325536200000)}, 
        {"compSymbol":"OTCM", "secId":4, "inserterName":"Bob", "adStartDate":new Date(1325433601000), "adEndDate":new Date(1325394001000)}, 
        {"compSymbol":"OTCM", "secId":3, "inserterName":"Bob", "adStartDate":new Date(1325430001000), "adEndDate":new Date(1325433600000)}, 
        {"compSymbol":"OTCM", "secId":2, "inserterName":"Bob", "adStartDate":new Date(1325426401000), "adEndDate":new Date(1325430000000)}, 
        {"compSymbol":"OTCM", "secId":1, "inserterName":"Bob", "adStartDate":new Date(1325422801000), "adEndDate":new Date(1325426400000)}, 
        {"compSymbol":"OTCM", "secId":5, "inserterName":"Bob", "adStartDate":new Date(1325394002000), "adEndDate":new Date(1325440800000)}
    ], 
    "totalRecords":0
    "pages":0
    "currentPage":0
    "pageSize":20
}

Вероятно, именно так и выглядят ваши данные. Таким образом, чтобы получить список результатов, сделайте это, сначала проанализируйте json, есть несколько способов сделать это. 1 вещь, которую нужно сделать, это просто

var myObj = JSON.parse(string);

Следующий доступ к списку результатов с разделителем точек.

var myResults = myObj.resultList;

Теперь ваш myResults объект - это массив объектов json. Очень простой доступ будет выглядеть следующим образом.

for (var i = 0; i < myResults.length; i++) {
    alert(myResults[i].inserterName); // alerts Bob on all the rows because of your data :)
}

А вот и вы


Точно так же, если ваши данные выглядели так, как вы указали, они недействительны: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...