Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJsonParserSequenceを使用して2つのJSON文字列を順番にマージするにはどうすればよいですか?


JsonParserSequence に配置された2つのサブパーサーを含むパーサーを作成するために使用できるヘルパークラス 特定のシーケンス。 静的を使用してシーケンスを作成できます メソッドcreateFlattened() JsonParserSequenceの クラス。

構文
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

  1. Javaを使用してJSON配列を作成/作成する方法は?

    Json配列は、角かっこで囲まれた順序付けられた値のコレクションです。つまり、「[」で始まり、「]」で終わります。配列の値は「、」(コンマ)で区切られます。 サンプルJSON配列 {    "books": [ Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] } json-simpleは、JSONオブジェクトを処理するために使用される軽量ライブラリです。これを使用すると、Javaプログラムを使用してJSONドキュメントのコンテンツを読み書きできます。 JSON-単純なMaven依存関係 以下は、JSON-si

  2. Javaを使用してJSONファイルを作成/作成する方法は?

    JSONまたはJavaScriptObjectNotationは、人間が読める形式のデータ交換用に設計された、軽量のテキストベースのオープンスタンダードです。 JSONで使用される規則は、C、C ++、Java、Python、Perlなどを含むプログラマーに知られています。サンプルJSONドキュメント − {    "book": [       {          "id": "01",