Вчера, когда мы были связаны с системой сверстников, система сверстников не могла справиться с строкой JSON, которую мы прошли. Позже, причина заключалась в том, что в строке JSON, которую мы прошли, должно быть множество объектов JSON. Поскольку наша строка JSON находится в столе, мы вывели ее в качестве строки JSON и поместили в массив JSON, поэтому мы поместили ее в двойные цитаты. Управление думает, что это строка, а не объект JSON, поэтому ее нельзя обработать.
[{"cardname": "bankcard1", "cardcode": "888888888", "cardValue": 999999999}, {"cardName": "BankCard2", "cardCode": "999999999", "CardValue": 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222н2н. Объекты, ["{" cardName ":" bankcard1 "," cardCode ":" 888888888 "," cardValue ": 999999999}", "{" cardName ":" BankCard2 "," cardCode ":" 99999999999 "," CardValue ": 2222222222222222222222222222222222222222222222222222222222222222222222222н2н? JSON String Array.Следующее обобщает несколько способов конвертации Java в струны JSON:
1. Преобразовать объект Java в строку json
2. Сгенерировать строку json через jsonobject
3. генерируйте струны json через струны json
Код реализуется через пакет Fastjson от Alibaba.
Код заключается в следующем:
1. Класс личности, список, содержащий Крэд
пакет com.doit8.test.jsontest.pojo; импортировать java.util.arraylist; импортировать java.util.list; Public Class Person {Private String UserName; Приватная строковая электронная почта; частный строковый секс; частный int возраст; Частный список <card> cardlist = new ArrayList <card> (); public String 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 (строка Sex) {this.sex = sex; } public int getage () {return Age; } public void setage (int age) {this.age = age; } public List <card> getCardlist () {return cardlist; } public void setCardlist (list <card> cardlist) {this.cardlist = cardlist; }}2. Card Class
пакет com.doit8.test.jsontest.pojo; открытый класс Card {Private String CardName; Private String CardCode; Частное целочисленное кардвизионное положение; 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. JSON обработка тестового класса
пакет com.doit8.test.jsontest; импортировать java.util.arraylist; импортировать java.util.list; Импорт com.alibaba.fastjson.json; Импорт com.alibaba.fastjson.jsonarray; импорт com.alibaba.fastjson.jsonobject; импорт com.doit8.test.jsontest.pojo.card; импорт com.doit8.test.jsontest.pojo.person; /*** JSON Conversion**/Public Class App {public static void main (string [] args) {// 1. Создайте строку JSON через объект, а объект содержит массив объектов, преобразованных в строку JSON. Человек = новый человек (); person.setusername ("Xiejava"); Person.setSex («Человек»); Person.Setage (38); person.setemail ("[email protected]"); Card Card1 = New Card (); card1.setCardName ("bankcard1"); card1.setCardCode ("888888888"); Card1.SetCardValue (9999999999); Card Card2 = New Card (); card2.setCardName ("bankcard1"); card2.setCardCode ("9999999999"); card2.setCardValue (222222222222); // Список массива объектов <card> card = new ArrayList <card> (); cards.add (card1); cards.add (card2); Person.setCardlist (карты); String json = json.tojson (человек) .toString (); System.out.println (json); // 2. Генерировать строку json через объекты json jsonObject jobject = new jsonObject (); jobject.put ("имя пользователя", "Xiejava"); jobject.put («секс», «мужчина»); jobject.put («Возраст», 38); jobject.put ("email", "[email protected]"); // Обернуть массив объектов через jsonarray jsonarray jarray = new jsonarray (); Jarray.addall (карты); jobject.put ("cardlist", Jarray); String json2 = jobject.tojsonstring (); System.out.println (json2); // 3. Генерировать строку json через объект json jsonObject jobject2 = new jsonObject (); Jobject2.put («Имя пользователя», «Xiejava»); jobject2.put («секс», «мужчина»); Jobject2.put («Возраст», 38); jobject2.put ("email", "[email protected]"); // Создание строки json string cardjsonstr1 = "{/" cardname/":/" bankcard1/",/" cardCode/":/" 88888888/",/" cardValue/": 999999999}"; String cardjsonst2 = "{/" cardname/":/" bankcard2/",/" cardcode/":/" 999999999/",/" cardValue/": 22222222222}"; Json.parseobject (cardjsonstr1); Jsonarray jarray2 = new jsonarray (); // конвертировать строку JSON в объект JSON и добавить ее в JSONARRAY. [Обратите внимание, что вы должны использовать метод json.parseObject () для преобразования его в объект JSON, в противном случае он все равно будет строкой, и это будет двойная цитата при преобразовании его в строку JSON. ] jarray2.add (json.parseObject (cardjSonstr1)); Jarray2.Add (json.parseObject (cardjSonstr2)); jobject2.put ("cardlist", jarray2); String json3 = jobject2.tojSonstring (); System.out.println (json3); }}Представление пакета FastJson в pom.xml
<Depective> <groupid> com.alibaba </GroupId> <ArtifactId> fastJson </artifactId> <sersion> 1.2.15 </version> </depervice>
Результаты бега
{"cardlist": [{"cardname": "bankcard1", "cardcode": "888888888", "cardValue": 999999999}, {"cardName": "BankCard1", "CardCode ":" 9999999999 "," CardValue ": 22222222222222]]," Секс ":" Человек "," Возраст ": 38," Электронная почта ":" [email protected] ",« Имя пользователя ":" xiejava "}
{"cardlist": [{"cardCode": "8888888888", "cardName": "bankcard1", "cardValue": 999999999}, {"CardCode": "999999999", "Cardna я ":" bankcard1 "," cardValue ": 222222222222}]," Секс ":" Человек "," Возраст ": 38," Электронная почта ":" [email protected] "," Имя пользователя ":" Xiejava "
{"cardlist": [{"cardname": "bankcard1", "cardcode": "888888888", "CardValue": 999999999}, {"cardName": "BankCard2", "CardCode ":" 999999999999 "," CardValue ": 222222222222}]," Секс ":" Человек "," Возраст ": 38," Электронная почта ":" [email protected] ",« Имя пользователя ":" xiejava "}