Heim >Web-Frontend >js-Tutorial >Jquery analysiert den Datenprozesscode_jquery im Json-Format

Jquery analysiert den Datenprozesscode_jquery im Json-Format

WBOY
WBOYOriginal
2016-05-16 16:33:181240Durchsuche

Heute habe ich etwas über Json (JavaScript Object Notation) gelernt, ein leichtes Datenaustauschformat. Für Menschen leicht zu lesen und zu schreiben. Es ist auch für Maschinen einfach zu analysieren und zu generieren. JSON verwendet ein völlig sprachunabhängiges Textformat, verwendet aber auch Konventionen ähnlich der C-Sprachfamilie (einschließlich C, C, C#, Java, JavaScript, Perl, Python usw.). Diese Eigenschaften machen JSON zu einer idealen Datenaustauschsprache.

JSON besteht aus zwei Strukturen:

Eine Sammlung von Name/Wert-Paaren. In verschiedenen Sprachen wird es als Objekt, Datensatz, Struktur, Wörterbuch, Hash-Tabelle, verschlüsselte Liste oder assoziatives Array verstanden.
Eine geordnete Liste von Werten. In den meisten Sprachen wird es als Array verstanden.

Dies sind gängige Datenstrukturen. Tatsächlich unterstützen sie die meisten modernen Computersprachen in irgendeiner Form. Dadurch ist es möglich, ein Datenformat zwischen Programmiersprachen auszutauschen, die ebenfalls auf diesen Strukturen basieren.

JSON hat die folgenden Formen:

Ein Objekt ist eine ungeordnete Sammlung von Name/Wert-Paaren. Ein Objekt beginnt mit „{“ (linke Klammer) und endet mit „}“ (rechte Klammer). Auf jeden „Namen“ folgt ein „:“ (Doppelpunkt); „Name/Wert“-Paare werden durch ein „“, (Komma) getrennt.

Okay, reden wir keinen Unsinn und gehen wir direkt zu den Beispielen über! ! Das Design dieser kleinen Demo ist so. Die Seite index.jsp greift auf das serverseitige Servlet zu. Die übertragenen Daten sind im JSON-Format Im Json-Format werde ich diesen Artikel schreiben, was einer Täuschung des Publikums gleichkommt!

Code auf der index.jsp-Seite (zuerst einfache, dann schwierige Reihenfolge):

Code kopieren Der Code lautet wie folgt:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); ://" request.getServerName() ":" request.getServerPort() path "/"; %> < html> Meine JSP 'index.jsp' Startseite content="no-cache"> --> td1"> ;td id="td0"> ;/table>

Dann gibt es zwei Bean-Programme: Person und Adresse. Diese beiden Klassen dienen hier hauptsächlich dazu, die Art und Weise, wie Json Daten überträgt, und das Format der übertragenen Daten besser widerzuspiegeln

Code kopieren Der Code lautet wie folgt:

Paket com.wk; öffentliche Klasse Person { private String firstName; privater String lastName; private Adresse; Adresse; öffentliche Person() { super(); } public Person(String firstName, String lastName, Address address) { super(); this.firstName = firstName; this.lastName = lastName; this.address = Adresse; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } } package com.wk; öffentliche Klassenadresse { private int id; privates String-Detail; öffentliche Adresse() { super(); } public Address(int id, String detail) { super(); this.id = id; this.detail = detail; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getDetail() { return detail; } public void setDetail(String detail) { this.detail = detail; } }

Servlet代码:

复制代码 代码如下:

Paket com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; java.util.List importieren; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.wk.Address; import com.wk.Person; öffentliche Klasse PersonServlet erweitert HttpServlet{ private static final long serialVersionUID = 1L; static StringBuffer bf; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); Liste personen = new ArrayList(); PrintWriter out = resp.getWriter();
Person person1 = neue Person(); Adresse a1 = neue Adresse(); a1.setId(1); a1.setDetail("河北省"); person1.setFirstName("瓜"); person1.setLastName("傻"); person1.setAddress(a1); personen.add(person1);
Person person2 = neue Person(); Adresse a2 = neue Adresse(); a2.setId(2); a2.setDetail("Ansicht"); person2.setFirstName("蛋"); person2.setLastName("笨"); person2.setAddress(a2); personen.add(person2);
Person person3 = neue Person(); Adresse a3 = neue Adresse(); a3.setId(1); a3.setDetail("湖南省"); person3.setFirstName("痴"); person3.setLastName("白"); person3.setAddress(a3); personen.add(person3);
bf = new StringBuffer();
/* 组装成json格式的字符串 * {"person":[ * {"firstname":", "lastNmae"::", "address": {"id::", "detail::" }}, * ]} */ bf.append("{"person":["); for(Person person : personen) { bf.append("{"firstname":"").append(person.getFirstName()).append("",""). append("lastname":""). append(person.getLastName()).append("","). append(""address":").append("{"id":"").append(person.getAddress().getId()).append("",""). append("detail": "").append(person.getAddress().getDetail()).append(""").append("}},"); } //将最后一个逗号去掉 int length = bf.length(); String newStr = bf.substring(0, length-1); bf = new StringBuffer(); bf.append(newStr);
bf.append("]}"); out.println(bf); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); }

下面的代码就是Jquery如何解析Json数据了, 也是这一个demo的核心代码了:

复制代码 代码如下:

$(document).ready(function() { $("table").css("border-color", "lightblue").css("border-style", "solid"); $("#head" ).css("background-color", "lightblue"); $.ajax({ // 后台台理程序 URL: „Json“, // 数据发送方式 type: „post“, // 接受数据格式 dataType: „ json", timeout : 20000,// 设置请求超时时间(毫秒)。 // 请求成功后回调函数。 success : function(dataObj) { var member = eval(dataObj); // alarm(member.person[1] .firstname); $(dataObj.person).each(function(i, per) { $("#tr" i).find("#td0").html(per.lastname); $("#tr" i).find("#td1").html(per.firstname); $("#tr" i).find("#td2") .html(per.address.detail }); ; });

再贴一个运行效果吧!!
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
< ;/td>