Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะรวมสตริง JSON สองสตริงตามลำดับโดยใช้ JsonParserSequence ใน Java ได้อย่างไร


The JsonParserSequence เป็น คลาสตัวช่วยที่สามารถใช้สร้าง parser ที่มีตัวแยกวิเคราะห์ย่อยสองตัวที่วางอยู่ใน ลำดับเฉพาะ เราสามารถสร้างลำดับโดยใช้ คงที่ เมธอด createFlattened() ของ JsonParserSequence ชั้นเรียน

ไวยากรณ์

JsonParserSequence สาธารณะแบบคงที่ createFlattened (JsonParser ก่อน JsonParser วินาที)

ตัวอย่าง

<ก่อนหน้า>นำเข้า java.io.*;import com.fasterxml.jackson.core.*;import com.fasterxml.jackson.core.util.*;คลาสสาธารณะ JsonParserSequenceTest { สแตติกโมฆะ main (สตริง [] args) สาธารณะพ่น JsonParseException , IOException { String jsonString1 ="{\"id\":\"101\", \"name\":\"Ravi Chandra\", \"address\":\"Pune\"}"; String jsonString2 ="{\"id\":\"102\", \"name\":\"ราชา Ramesh\", \"address\":\"Hyderabad\", \"contacts\":[{ \"มือถือ\":\"9959984805\", \"บ้าน\":\"7702144400\"}]}"; JsonFactory jsonFactory =JsonFactory ใหม่ (); JsonParser jsonParser1 =jsonFactory.createParser (jsonString1); JsonParser jsonParser2 =jsonFactory.createParser (jsonString2); JsonParserSequence jsonParserSequence =JsonParserSequence.createFlattened (jsonParser1, jsonParser2); JsonToken jsonToken =jsonParserSequence.nextToken (); ในขณะที่ (jsonToken !=null) { สวิตช์ (jsonToken) { กรณี FIELD_NAME:System.out.println ("คีย์ฟิลด์:" + jsonParserSequence.getText ()); หยุดพัก; กรณี VALUE_FALSE:กรณี VALUE_NULL:กรณี VALUE_NUMBER_FLOAT:กรณี VALUE_NUMBER_INT:กรณี VALUE_STRING:กรณี VALUE_TRUE:System.out.println("ค่าคีย์:" + jsonParserSequence.getText()); หยุดพัก; } jsonToken =jsonParserSequence.nextToken(); } jsonParserSequence.close(); }}

ผลลัพธ์

ฟิลด์คีย์:idKey value:101Key field:nameKey value:Ravi ChandraKey field:addressKey value:PuneKey field:idKey value:102Key field:nameKey value:Raja RameshKey field:addressKey value:HyderabadKey field:ContactKey field:mobileKey value:9959984805Key field:homeKey value:7702144400