Maison > interface Web > js tutoriel > le corps du texte

Exemple de tutoriel sur l'analyse des données JSON avec jQuery

零下一度
Libérer: 2017-06-19 13:20:02
original
993 Les gens l'ont consulté

Dans l'analyse préliminaire de l'exemple de développement Ajax dans Struts2 dans l'article précédent, nous avons obtenu les données JSON de l'objet commentaires. Dans cet article, nous utiliserons jquery pour l'analyse des données.

Analysons d'abord les données JSON de l'objet commentaires dans l'exemple ci-dessus à titre d'exemple, puis résumons la méthode d'analyse des données JSON dans jQuery.

Les données JSON obtenues dans l'exemple ci-dessus sont les suivantes, qui sont un JSON imbriqué :

{“comments”:[{“content”:”很不错嘛”,”id”:1,”nickname”:”纳尼”},{“content”:”哟西哟西”,”id”:2,”nickname”:”小强”}]}
Copier après la connexion

Pour obtenir des données JSON, il existe une méthode simple $.getJSON() dans jQuery pour y parvenir.

Ce qui suit cité est la description officielle de l'API de $.getJSON() :

jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] )
urlA string containing the URL to which the request is sent.
dataA map or string that is sent to the server with the request.
success(data, textStatus, jqXHR)A callback function that is executed if the request succeeds.
Copier après la connexion

La fonction de rappel accepte trois Paramètres, le premier est les données renvoyées par le livre, le second est le statut et le troisième est le XMLHttpRequest de jQuery. Nous n'utilisons que le premier paramètre.

$.each() est une méthode utilisée pour analyser les données JSON dans la fonction de rappel. Voici le document officiel :

jQuery.each( collection, callback(indexInArray, valueOfElement) )
collectionThe object or array to iterate over.
callback(indexInArray, valueOfElement)The function that will be executed on every object.
Copier après la connexion

La méthode $.each() accepte deux paramètres. . L'un est la collection d'objets qui doit être parcourue (collection d'objets JSON) et la seconde est la méthode utilisée pour parcourir. Cette méthode accepte deux paramètres, le premier est l'index parcouru et le second est la valeur actuellement parcourue. Haha, avec la méthode $.each(), l'analyse JSON est facilement résolue.

function loadInfo() {
$.getJSON(“loadInfo”, function(data) {
$(“#info”).html(“”);//清空info内容
$.each(data.comments, function(i, item) {
$(“#info”).append(
“<p>” + item.id + “</p>” +
“<p>” + item.nickname    + “</p>” +
“<p>” + item.content + “</p><hr/>”);
});
});
}
Copier après la connexion

Comme ci-dessus, loadinfo est l'adresse demandée, function(data){…} est la fonction de rappel une fois la requête réussie, data encapsule l'objet JSON renvoyé, dans le $.each(data suivant .comments, function(i,item){…}), data.comments atteint directement le JSONarray contenu dans les données JSON :

[{“content”:”很不错嘛”,”id”:1,”nickname”:”纳尼”},{“content”:”哟西哟西”,”id”:2,”nickname”:”小强”}]
Copier après la connexion

$.each() méthode La fonction est de parcourir ce tableau puis de l'insérer à l'endroit approprié en manipulant le DOM. Pendant le processus de parcours, nous pouvons facilement accéder à l'index de parcours actuel ("i" dans le code) et à la valeur de parcours actuelle ("élément" dans le code).

Les résultats de l'exemple ci-dessus sont les suivants :

Exemple de tutoriel sur lanalyse des données JSON avec jQuery

Si les données JSON renvoyées sont plus complexes, utilisez simplement plus de $.each( ) Traversez simplement, hehe. Par exemple, les données JSON suivantes :

{“comments”:[{“content”:”很不错嘛”,”id”:1,”nickname”:”纳尼”},{“content”:”哟西哟西”,”id”:2,”nickname”:”小强”}],
“content”:”你是木头人,哈哈。”,”infomap”:{“性别”:”男”,”职业”:”程序员”,”博客”:”http:////www.cnblogs.com//codeplus//”},”title”:”123木头人”}
JS如下:
function loadInfo() {$.getJSON(“loadInfo”, function(data) {
$(“#title”).append(data.title+”<hr/>”);$(“#content”).append(data.content+”<hr/>”);//jquery解析map数据$.each(data.infomap,function(key,value){$(“#mapinfo”).append(key+”—-”+value+”<br/><hr/>”);});//解析数组$.each(data.comments, function(i, item) {$(“#info”).append(“<p>” + item.id + “</p>” +“<p>” + item.nickname    + “</p>” +“<p>” + item.content + “</p><hr/>”);});});}
Copier après la connexion

Il convient de noter que lorsque $.each() parcourt la carte, les paramètres dans function() sont la clé et la valeur, ce qui est très pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal