Je veux enregistrer chaque réponse de json dans un tableau que j'ai écrit comme ça
$(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); }); }; });
Mais semble être mon code ne fonctionne pas, saveJson devient indéfini comment puis-je surmonter cela? Simplement je souhaite ajouter la réponse de json à un objet de tableau.
Mon exemple de réponse ressemble à
"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":"" } ]
Merci
function(array){ $.each(array,function(i,data){ saveJson.push(data); }); };
Retourne indéfinie . Même si vous envoyez des données dans saveJson, votre "saveJson = saveToArray (jsonResponse)" affecte de nouveau le saveJson comme indéfini .
Vous pourriez avoir :
function(array){ var ret = []; $.each(array,function(i,data){ ret.push(data); }); return ret; };
Votre JSON n'est pas un tableau, vous avez réellement un objet contenant un tableau dans "SearchResults", donc vous devez passer sur le lieu de l'objet entier:
saveJson = saveToArray(jsonResponse.SeachResults); //change this line
(En supposant que jsonResponse
soit définie)