Heim  >  Artikel  >  Web-Frontend  >  So analysieren Sie JSON in jquery_jquery

So analysieren Sie JSON in jquery_jquery

WBOY
WBOYOriginal
2016-05-16 16:09:201200Durchsuche

Wir gehen davon aus, dass der Server eine Zeichenfolge in JSON-Form zurückgibt. Für JSON-Objekte, die durch Plug-Ins wie JSONObject gekapselt sind, gilt das Gleiche und wird hier nicht erläutert.

Code kopieren Der Code lautet wie folgt:

var data="
{
Wurzel:
[
{Name:'1',Wert:'0'},
{name:'6101',value:'Xi'an City'},
{name:'6102',value:'Tongchuan City'},
{name:'6103',value:'Baoji City'},
{name:'6104',value:'Xianyang City'},
{name:'6105',value:'Weinan City'},
{name:'6106',value:'Yan'an City'},
{name:'6107',value:'Hanzhong City'},
{name:'6108',value:'Yulin City'},
{name:'6109',value:'Ankang City'},
{name:'6110',value:'Shangluo City'}
]
}";

Basierend auf den asynchron von jquery erhaltenen Datentypen – JSON-Objekten und -Strings – stellen wir hier die Verarbeitungsmethoden der auf zwei Arten erhaltenen Ergebnisse vor.

1. Wenn die vom Server zurückgegebene JSON-Zeichenfolge keine Typbeschreibung hat oder als Zeichenfolge akzeptiert wird, muss sie objektiviert werden. Das heißt, Put the string in eval() wird einmal ausgeführt. Diese Methode eignet sich auch zum Abrufen von JSON-Objekten mit gewöhnlichem Javascript. Das Folgende ist ein Beispiel:

Code kopieren Der Code lautet wie folgt:

var dataObj=eval("(" data ")");//In JSON-Objekt konvertieren
Alert(dataObj.root.length);//Geben Sie die Anzahl der Unterobjekte von Root
aus $.each(dataObj.root,fucntion(idx,item){
if(idx==0){
return true;
}
//Geben Sie den Namen und den Wert jedes Root-Unterobjekts aus
alarm("name:" item.name ",value:" item.value);
})

Hinweis: Damit allgemeines js JSON-Objekte generieren kann, müssen Sie nur die Methode $.each() durch eine for-Anweisung ersetzen, die anderen bleiben unverändert.

2. Wenn die asynchrone JQuery-Anfrage für die vom Server zurückgegebene JSON-Zeichenfolge den Typ (normalerweise dieses Konfigurationsattribut) auf „json“ setzt oder die Methode $.getJSON() verwendet, um die Serverrückgabe zu erhalten, dann ist dies der Fall Die Methode eval () ist nicht erforderlich, da das zu diesem Zeitpunkt erhaltene Ergebnis bereits ein JSON-Objekt ist. Sie müssen das Objekt nur direkt aufrufen. Hier wird die Methode $.getJSON als Beispiel zur Veranschaulichung der Datenverarbeitungsmethode verwendet:

Code kopieren Der Code lautet wie folgt:

$.getJSON("http://user.qzone.qq.com/2227211070",{param:"gaoyusi"},function(data){
//Die hier zurückgegebenen Daten sind bereits ein JSON-Objekt
//Andere Operationen unten sind die gleichen wie im ersten Fall
$.each(data.root,function(idx,item){
if(idx==0){
return true;//Dasselbe wie countinue, false zurückgeben, genau wie break
}
alarm("name:" item.name ",value:" item.value);
});
});

Das Obige ist der gesamte Inhalt dieses Artikels über das Parsen von JSON durch jQuery. Ich hoffe, dass es Ihnen gefällt.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn