способ сохранить ответ Json в массив - PullRequest
4 голосов
/ 25 июня 2011

Я хочу сохранить каждый ответ json в массиве, который я написал следующим образом

$(document).ready(function () {
   var saveJson = [];
   var jsonResponse = getjsonResponse()
                      //something with $get function response json format 
   saveJson = saveToArray(jsonResponse.SearchResults);

   var saveToArray = function(array){
       $.each(array,function(i,data){
           saveJson.push(data);
       });
   };
});

, но, похоже, мой код не работает saveJson, получая неопределенный ответ, как я могу преодолеть это?просто я хочу добавить ответ json к одному объекту массива.

мой пример ответа выглядит как

    "SearchResults":[
          {
             "TypeFlag":"W",
             "HashCode":"66093013",
             "ShortenKey":"http:///k",
             "Title":"Yahoo! \u003cspan class=\"search-result-highlight\"\u003eSearch\u003c/span\u003e - Web \u003cspan class=\"search-result-highlight\"\u003eSearch\u003c/span\u003e",
             "Description":"The \u003cb\u003esearch\u003c/b\u003e engine that helps you find exactly what you\u0027re looking for. Find the most relevant information, video, images, and answers from all across the Web.",
             "Url":"http://search.yahoo.com/",
             "LastUpdateOn":"6/21/2011 1:01:11 PM",
             "PageRank":1,
             "ThumbImageUrl":""
          },
         {
             "TypeFlag":"W",
             "HashCode":"48394089",
             "ShortenKey":"http:///5i",
             "Title":"Lijit | Advertising Services, Audience Analytics and Publisher ...",   
             "Description":"I’ve been using Lijit as my site \u003cb\u003esearch\u003c/b\u003e for several years and the understanding I get about my audience is critical to knowing what my readership is interested in and ...",
             "Url":"http://www.lijit.com/",
             "LastUpdateOn":"6/22/2011 11:31:41 PM",
             "PageRank":10,
             "ThumbImageUrl":""
      }
]

спасибо

Ответы [ 2 ]

2 голосов
/ 25 июня 2011
function(array){
    $.each(array,function(i,data){
        saveJson.push(data);
    });
};

возвращает не определено .Несмотря на то, что вы помещаете данные в saveJson, ваш «saveJson = saveToArray (jsonResponse)» переназначает saveJson как undefined .

Возможно, у вас есть:

function(array){
    var ret = [];
    $.each(array,function(i,data){
        ret.push(data);
    });
    return ret;
};
0 голосов
/ 25 июня 2011

Ваш JSON не является массивом, у вас фактически есть объект, содержащий массив в "SearchResults", поэтому вы должны передать его вместо всего объекта:

saveJson = saveToArray(jsonResponse.SeachResults); //change this line

(при условии, что jsonResponse определено)

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