Rumah > hujung hadapan web > tutorial js > Jquery menghuraikan kod proses data format Json_jquery

Jquery menghuraikan kod proses data format Json_jquery

WBOY
Lepaskan: 2016-05-16 16:33:18
asal
1274 orang telah melayarinya

Hari ini saya belajar sedikit tentang JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan. Mudah untuk manusia membaca dan menulis. Ia juga mudah untuk mesin menghuraikan dan menjana. JSON menggunakan format teks bebas bahasa sepenuhnya, tetapi juga menggunakan konvensyen yang serupa dengan keluarga bahasa C (termasuk C, C, C#, Java, JavaScript, Perl, Python, dll.). Sifat ini menjadikan JSON sebagai bahasa pertukaran data yang ideal.

JSON dibina daripada dua struktur:

Koleksi pasangan nama/nilai. Dalam bahasa yang berbeza, ia difahami sebagai objek, rekod, struct, kamus, jadual cincang, senarai berkunci atau tatasusunan bersekutu).
Senarai nilai tersusun. Dalam kebanyakan bahasa, ia difahami sebagai tatasusunan.

Ini adalah struktur data biasa. Malah kebanyakan bahasa komputer moden menyokongnya dalam beberapa bentuk. Ini membolehkan format data ditukar antara bahasa pengaturcaraan yang juga berdasarkan struktur ini.

JSON mempunyai bentuk berikut:

Objek ialah koleksi pasangan nama/nilai yang tidak tertib. Objek bermula dengan "{" (kurungan kiri) dan berakhir dengan "}" (kurungan kanan). Setiap "nama" diikuti dengan ":" (titik bertitik); pasangan "nama/nilai" dipisahkan dengan "," (koma).

Baiklah, jangan bercakap kosong dan terus kepada contoh! ! Reka bentuk demo kecil ini adalah seperti ini Halaman index.jsp mengakses servlet bahagian pelayan dalam format Json, saya akan menulis artikel ini Blog adalah sama dengan menipu penonton!

Kod di sebelah index.jsp (mudah dahulu, kemudian susunan yang sukar):

Salin kod Kod adalah seperti berikut:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); ://" request.getServerName() ":" request.getServerPort() laluan "/"; %> < html> Halaman permulaan 'index.jsp' saya< content="no-cache"> http-equiv="keywords" content="keyword1,keyword2,keyword3"> " type="text/css" href="styles.css" mce_href="styles.css"> --> ;td id="td0"> ;/table>

Kemudian terdapat dua program kacang: Orang dan Alamat. Kedua-dua kelas ini direka bentuk di sini terutamanya untuk menggambarkan dengan lebih baik cara Json menghantar data dan format data yang dihantar

Salin kod Kod adalah seperti berikut:

pakej com.wk; kelas awam Orang { private String firstName; Nama akhir String peribadi; alamat Alamat peribadi; Orang awam() { super(); } Orang awam(String firstName, String lastName, Alamat alamat) { super(); this.firstName = firstName; this.lastName = lastName; ini.alamat = alamat; } 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(Alamat alamat) { this.address = address; } } pakej com.wk; Alamat kelas awam { private int id; butiran rentetan peribadi; Alamat awam() { super(); } Alamat awam(int id, String detail) { super(); this.id = id; ini.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代码:

复制代码 代码如下:

pakej com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.wk.Alamat; import com.wk.Orang; kelas awam PersonServlet memanjangkan HttpServlet{ peribadi statik akhir siri panjangVersionUID = 1L; StringBuffer bf statik; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) membuang ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); Senaraikan orang = ArrayList(); PrintWriter keluar = resp.getWriter();
Orang person1 = new Person(); Alamat a1 = Alamat baru(); a1.setId(1); a1.setDetail("河北省"); person1.setFirstName("瓜"); person1.setLastName("傻"); person1.setAddress(a1); orang.tambah(orang1);
Orang orang2 = orang baru(); Alamat a2 = Alamat baru(); a2.setId(2); a2.setDetail("江西省"); person2.setFirstName("蛋"); person2.setLastName("笨"); person2.setAddress(a2); orang.tambah(orang2);
Orang orang3 = orang baru(); Alamat a3 = Alamat baru(); a3.setId(1); a3.setDetail("湖南省"); person3.setFirstName("痴"); person3.setLastName("白"); person3.setAddress(a3); orang.tambah(orang3);
bf = StringBuffer baharu();
/* 组装成json格式的字符串 * {"orang":[ * {"nama pertama":"", "lastNmae":"", "alamat": {"id":"", "detail":"" }}, * ]} */ bf.append("{"orang":["); untuk(Orang orang : orang) { bf.append("{"nama pertama":"").append(orang.getFirstName()).append("",""). tambah("nama keluarga":""). append(person.getLastName()).append("","). append(""address":").append("{"id":"").append(person.getAddress().getId()).append("","").append("detail": "").append(orang.getAddress().getDetail()).append(""").append("}},"); } //将最后一个逗号去掉 int length = bf.length(); String newStr = bf.substring(0, length-1); bf = StringBuffer baharu(); bf.append(newStr);
bf.append("]}"); out.println(bf); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) membuang ServletException, IOException { this.doGet(req, resp); }

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

复制代码 代码如下:

$(dokumen).sedia(fungsi() { $("jadual").css("warna sempadan", "biru muda").css("gaya sempadan", "pepejal"); $("#kepala" ).css("background-color", "lightblue"); $.ajax({ // 后台处理程序 url : "Json", // 数据发送方式 type : "post", // 接受数据格弳 : "data json", tamat masa : 20000,// 设置请求超时时间(毫秒)。 // 请求成功后回调函数。 kejayaan : function(dataObj.) { var member = eval ; .nama pertama); $(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 }); ; });

再贴一个运行效果吧!!
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
< ;/td>