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: 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: contactsKey field: mobileKey value: 9959984805Key field: homeKey value: 7702144400
登录后复制
以上就是如何使用Java中的JsonParserSequence按顺序合并两个JSON字符串?的详细内容,更多请关注【创想鸟】其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。