JSON (Notasi Objek JavaScript) adalah format pertukaran data ringan yang menggunakan format teks yang sepenuhnya independen bahasa dan merupakan format pertukaran data yang ideal. Sementara itu, JSON adalah format asli Javascript, yang berarti bahwa tidak ada API atau toolkit khusus yang diperlukan untuk memproses data JSON dalam JavaScript.
Banyak alat konstruksi dan parsing JSON di bawah Java diterbitkan di www.json.org. Di antara mereka, org.json dan json-lib relatif sederhana. Keduanya serupa digunakan tetapi masih ada beberapa perbedaan. Berikut ini adalah contoh pertama tentang cara membangun dan menguraikan data JSON menggunakan JSON-LIB.
Untuk penjelasan terperinci tentang metode membangun dan mem -parsing data JSON menggunakan org.son, silakan merujuk ke posting blog saya berikutnya: dua metode membangun dan mem -parsing data JSON menggunakan Java (penjelasan terperinci 2)
1. Pendahuluan
Paket JSON-LIB adalah paket yang mengubah kacang, koleksi, peta, array Java dan XML dan JSON. Ini terutama digunakan untuk menguraikan data JSON. Ini memiliki penjelasan terperinci di situs web resminya http://www.json.org/. Jika Anda tertarik, Anda dapat mempelajarinya.
2. Unduh Paket Jar Dependency: Anda dapat mengunduhnya di sini
3. Pengantar Metode Dasar
1. Konversi koleksi daftar ke metode JSON
Daftar daftar = arraylist baru (); list.add ("first"); list.add ("kedua"); jsonarray jsonarray2 = jsonarray.fromObject (daftar);2. Konversi koleksi peta ke metode JSON
Peta peta = hashmap baru (); peta.put ("name", "json"); peta.put ("bool", boolean.true); peta.put ("int", integer baru (1)); peta.put ("arr", string baru [] {"a", "b"}); peta.put ("funce", "{" a "," b "}); peta. json = jsonobject.fromObject (peta); 3. Konversi Bean ke JSON Code
JsonObject jsonObject = jsonobject.fromObject (new jsonbean ());
4. Konversi array ke kode JSON
boolean [] boolarray = boolean baru [] {true, false, true}; jsonarray jsonarray1 = jsonarray.fromObject (boolarRay);5. Konversi data umum menjadi kode JSON
Jsonarray jsonarray3 = jsonarray.fromObject ("['json', 'is', 'easy']");6. Konversi Kacang ke Kode JSON
Daftar Daftar = ArrayList baru (); jsonbean2 jb1 = jsonbean2 baru (); jb1.setcol (1); jb1.setrow (1); jb1.setValue ("xx"); jsonbean2 jb2 = Jsonbean2 (); jb2.setcol (2); jb2.setrow (2); jb2.setValue (""); list.add (jb1); list.add (jb2); jsonarray ja = jsonarray.fromobject (daftar); 4. Contoh demonstrasi
Berikut adalah beberapa metode umum dasar untuk diuji
package com.json;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;/*** Use json-lib to construct and parse Json data* * @author Alexia* @date 2013/5/23 **/kelas publik jsontest {/*** Data JSON Data** @return*/public static string buildjson () {// json format data parsing objek jsonObject jo = new jsonobject (); // berikut membangun dua peta, daftar dan peta objek karyawan <string, string, map1 = map1 = haspum (haspip1, map1 = hash1, map1 = map1 = map1 = map1 = peta) (daftar dan string Objecte <string, string> pap1 = map1 = hash1 = hash1, map1 = hash1, map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1 = map1, "Alexia"); map1.put ("sex", "female"); map1.put ("usia", "23"); peta <string, string> map2 = hashmap baru <string, string> (); peta2.put ("name", "edward"); peta2.put ("seks", "laki -laki"); peta22.put ("usia", "24); ArrayList <peta> (); list.add (MAP1); list.add (MAP2); karyawan karyawan = karyawan baru (); karyawan.setname ("wjl"); karyawan.setsex ("wanita"); liste.setage (24); // peta ke jsonarray datajsonArray ja1 = jo. DataJsonArray JA2 = JsonArray.FromObject (Daftar); // Konversi Bean ke JSONArray Data JsonArray JA3 = JsonArray.FromObject (Karyawan); System.out.println ("JSONARRAY DATA OBYEK OBYEK Format: "); System.out.println (ja1.tostring ()); System.out.println (ja2.tostring ()); System.out.println (ja3.tostring ()); // Bangun data JSON, termasuk peta dan peta karyawan jo.put (" ", ja1); ja2); System.out.println ("/n Final Final JSON Data Format:"); System.out.println (Jo.ToString ()); return jo.toString ();}/*** Parse JSON Data* @param jsonstring JSON Data string*/public static static parsejson parsejson parsejson (rangkaian rangkaian json (publicer publice parkir parkir publice (sipsEncons Mouger (publiccons mouger {parkir publ) JsonObject jb = jsonobject.fromObject (jsonstring); jsonarray ja = jb.getjsonArray ("karyawan"); Daftar <eployee> emplist = new ArrayList <eployee> (); // Loop menambahkan objek karyawan (mungkin ada banyak) untuk (int i = 0; i <ja.size (); i ++) {karyawan karyawan = baru Karyawan (); karyawan.setname (ja.getjsonObject (i) .getString ("name")); karyawan.setsex (ja.getjsonObject (i) .getString ("sex")); karyawan Data json ke objek karyawan: "); for (int i = 0; i <emplist.size (); i ++) {karyawan emp = emplist.get (i); System.out.println (" nama: " + emp.getname () +" seks: " + emp.getsex () +" usia: " + emp.getage () +" sex: " + emp.getsex () +" usia: " + emp.getage ()" sex: " + emp.getsex () +" usia: " + emp.getage ()" sex: " + emp.getsex ()" usia: " + emp.getage ()"); Main (String [] args) {// TODO Metode yang dihasilkan otomatis Stubparsejson (buildjson ());}} Hasil operasi adalah sebagai berikut
5. Bandingkan dengan org.json
Penggunaan json-lib dan org.json hampir sama. Saya telah merangkum dua perbedaan:
1. Org.json jauh lebih ringan dari json-lib. Yang pertama tidak bergantung pada paket toples lainnya, sedangkan yang terakhir tergantung pada lang, logging, beanutils, koleksi dan komponen lain dari Ezmorph dan Commons.
2. JSON-LIB jauh lebih nyaman daripada org.json saat membangun kacang dan memarsing kacang. JSON-LIB dapat secara langsung dikonversi dengan kacang, sementara org.json tidak dapat secara langsung mengonversi dengan kacang dan membutuhkan peta sebagai transit. Jika Anda mengonversi kacang menjadi data JSON, Anda harus terlebih dahulu mengonversi kacang menjadi peta dan kemudian mengonversi peta ke JSON, yang lebih merepotkan.
Singkatnya, kalimat yang sama masih merupakan hal terbaik untuk Anda. Setiap orang harus memilih metode mana yang akan digunakan untuk menganalisisnya sesuai kebutuhan. Akhirnya, saya akan memperkenalkan dua alat untuk menganalisis data JSON: satu adalah alat online JSON Edit (http://braincast.nl/samples/jsoneditor/); Yang lainnya adalah Eclipse Plugin JSON Tree Analyzer, yang keduanya sangat berguna dan direkomendasikan untuk digunakan semua orang!
Di atas adalah dua metode yang diperkenalkan kepada Anda dengan menggunakan Java untuk membangun dan menguraikan data JSON (penjelasan rinci satu). Saya harap ini akan membantu semua orang!