JsonParserSequence는 특정 순서로 정렬된 두 개의 하위 파서를 포함하는 파서를 만드는 데 사용할 수 있는 도우미 클래스입니다. JsonParserSequence 클래스의 정적 메서드 createFlattened()를 사용하여 시퀀스를 만들 수 있습니다.
public static JsonParserSequence createFlattened(JsonParser first, JsonParser second)
import java.io.*; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.core.util.*; public class JsonParserSequenceTest { public static void main(String[] args) throws JsonParseException, IOException { String jsonString1 = "{\"id\":\"101\", \"name\":\"Ravi Chandra\", \"address\":\"Pune\"}"; String jsonString2 = "{\"id\":\"102\", \"name\":\"Raja Ramesh\", \"address\":\"Hyderabad\", \"contacts\":[{\"mobile\":\"9959984805\", \"home\":\"7702144400\"}]}"; JsonFactory jsonFactory = new JsonFactory(); JsonParser jsonParser1 = jsonFactory.createParser(jsonString1); JsonParser jsonParser2 = jsonFactory.createParser(jsonString2); JsonParserSequence jsonParserSequence = JsonParserSequence.createFlattened(jsonParser1, jsonParser2); JsonToken jsonToken = jsonParserSequence.nextToken(); while(jsonToken != null) { switch(jsonToken) { case FIELD_NAME: System.out.println("Key field: " + jsonParserSequence.getText()); break; case VALUE_FALSE: case VALUE_NULL: case VALUE_NUMBER_FLOAT: case VALUE_NUMBER_INT: case VALUE_STRING: case VALUE_TRUE: System.out.println("Key value: " + jsonParserSequence.getText()); break; } jsonToken = jsonParserSequence.nextToken(); } jsonParserSequence.close(); } }
Key field: id Key value: 101 Key field: name Key value: Ravi Chandra Key field: address Key value: Pune Key field: id Key value: 102 Key field: name Key value: Raja Ramesh Key field: address Key value: Hyderabad Key field: contacts Key field: mobile Key value: 9959984805 Key field: home Key value: 7702144400
위 내용은 Java에서 JsonParserSequence를 사용하여 두 개의 JSON 문자열을 순차적으로 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!