Kemarin, ketika kami dihubungkan dengan sistem rekan, sistem rekan tidak dapat menangani string JSON yang kami lewati. Kemudian, alasannya adalah bahwa harus ada berbagai objek JSON di string JSON yang kami lewati. Karena string JSON kami ada di meja, kami mengambilnya sebagai string JSON dan memasukkannya ke dalam array JSON, jadi kami memasukkannya ke dalam kutipan ganda. Peer berpikir itu adalah string, bukan objek JSON, sehingga tidak dapat diproses.
[{"CardName": "BankCard1", "CardCode": "888888888", "CardValue": 999999999}, {"Cardname": "BankCard2," The Cardcode ":" 9999999999 "," The CardCard2 ": 222222222222222 Objek, ["{" CardName ":" BankCard1 "," CardCode ":" 888888888 "," CardValue ": 99999999}", "{" Cardname "," Cardcard2 "," CardCode ":" 999999999999999999999999999999999999 JSON String Array.Berikut ini merangkum beberapa cara untuk mengonversi Java menjadi JSON Strings:
1. Konversi objek java menjadi string json
2. Hasilkan string JSON melalui JSONObject
3. Hasilkan string JSON melalui string JSON
Kode ini diimplementasikan melalui paket FastJson Alibaba.
Kodenya adalah sebagai berikut:
1. Kelas orang, daftar yang berisi crad
paket com.doit8.test.jsontest.pojo; impor java.util.arraylist; impor java.util.list; orang kelas publik {nama pengguna string privat; email string pribadi; seks string pribadi; usia int pribadi; Daftar Pribadi <Dard> CardList = ArrayList baru <Dard> (); string publik getUserName () {return username; } public void setusername (string username) {this.username = username; } public String geteMail () {return email; } public void seteMail (string email) {this.email = email; } public string getsex () {return sex; } public void setSex (string sex) {this.sex = sex; } public int getage () {usia kembali; } public void setage (int usia) {this.age = usia; } Daftar Publik <Dard> getCardList () {return cardlist; } public void setCardList (Daftar <Dard> cardlist) {this.cardlist = cardlist; }}2. Kelas kartu
paket com.doit8.test.jsontest.pojo; Kartu Kelas Publik {Private String CardName; kode kartu string pribadi; Cardvalue Integer Pribadi; Public String getCardName () {return cardname; } public void setCardName (String cardName) {this.cardname = cardname; } public String getCardCode () {return cardCode; } public void setCardCode (string cardCode) {this.cardcode = cardcode; } public integer getCardValue () {return cardValue; } public void setCardValue (integer cardValue) {this.cardValue = cardValue; }}3. Kelas Tes Pemrosesan JSON
paket com.doit8.test.jsontest; impor java.util.arraylist; impor java.util.list; impor com.alibaba.fastjson.json; impor com.alibaba.fastjson.jsonarray; impor com.alibaba.fastjson.jsonobject; impor com.doit8.test.jsontest.pojo.card; impor com.doit8.test.jsontest.pojo.person; /*** Konversi JSON**/aplikasi kelas publik {public static void main (string [] args) {// 1. Hasilkan string JSON melalui objek, dan objek berisi array objek yang dikonversi menjadi string JSON. Orang orang = orang baru (); orang.setusername ("xiejava"); orang.setsex ("man"); orang.setage (38); person.setemail ("[email protected]"); Kartu kartu1 = kartu baru (); card1.setCardName ("BankCard1"); card1.setCardCode ("8888888888"); Card1.SetCardValue (9999999999); Kartu kartu2 = kartu baru (); card2.setCardName ("BankCard1"); card2.setCardCode ("9999999999"); card2.setCardValue (22222222222); // Daftar Array Objek <dial> kartu = ArrayList baru <dial> (); cards.add (card1); cards.add (card2); orang.setCardlist (kartu); String json = json.toJson (orang) .toString (); System.out.println (JSON); // 2. Menghasilkan string json melalui objek json jsonobject jobject = new jsonobject (); jobject.put ("nama pengguna", "xiejava"); jobject.put ("sex", "man"); jobject.put ("usia", 38); jobject.put ("email", "[email protected]"); // Bungkus array objek melalui jsonarray jsonarray jarray = new jsonarray (); jarray.addall (kartu); jobject.put ("cardlist", jarray); String json2 = jobject.toJsonstring (); System.out.println (json2); // 3. Hasilkan string JSON melalui objek JSON JSONObject jobject2 = new jsonObject (); jobject2.put ("nama pengguna", "xiejava"); jobject.put ("sex", "man"); jobject2.put ("usia", 38); jobject2.put ("email", "[email protected]"); // Bangun string string JSON cardjsonstr1 = "{/" cardname/":/" bankcard1/",/" cardcode/":/" 88888888/",/" cardValue/": 999999999}"; String cardjsonstr2 = "{/" cardname/":/" bankcard2/",/" cardcode/":/" 999999999/",/" cardValue/": 2222222222}"; Json.parseObject (cardjsonstr1); Jsonarray jarray2 = jsonarray baru (); // Konversi string JSON ke objek JSON dan tambahkan ke JSONArray. [Perhatikan bahwa Anda harus menggunakan metode json.parseObject () untuk mengonversinya ke objek JSON, jika tidak itu akan tetap menjadi string, dan itu akan menjadi kutipan ganda saat mengubahnya menjadi string JSON. ] jarray2.add (json.parseObject (cardjsonstr1)); jarray2.add (json.parseObject (cardjsonstr2)); jobject2.put ("cardlist", jarray2); String json3 = jobject2.toJsonstring (); System.out.println (JSON3); }}Memperkenalkan paket FastJson di pom.xml
<dependency> <GroupId> com.alibaba </groupid> <ArTifactId> fastjson </artifactid> <version> 1.2.15 </version> </dependency>
Hasil berjalan
{"CardList": [{"CardName": "BankCard1", "CardCode": "8888888888", "CardValue": 999999999}, {"Cardname": "BankCard1", "CardCode ":" 9999999999 "," CardValue ": 222222222222}]," Sex ":" Man "," Age ": 38," Email ":" [email protected] "," username ":" xiejava "}}
{"CardList": [{"CardCode": "8888888888", "Cardname": "BankCard1", "CardValue": 999999999}, {"CardCode": "999999999" "," Cardna saya ":" BankCard1 "," CardValue ": 22222222222}]," Sex ":" Man "," Age ": 38," Email ":" [email protected] "," nama pengguna ":" xieja "}}
{"CardList": [{"CardName": "BankCard1", "CardCode": "8888888888", "CardValue": 999999999}, {"Cardname": "BankCard2", "CardCode ":" 99999999999 "," CardValue ": 22222222222}]," Sex ":" Man "," Age ": 38," Email ":" [email protected] "," username ":" xiejava "}}