Gson-ツリーモデル
ツリーモデルは、JSONドキュメントのメモリ内ツリー表現を準備します。JsonObjectノードのツリーを構築します。これは柔軟なアプローチであり、XMLのDOMパーサーに類似しています。
JSONからツリーを作成する
JsonParserは、JSONを読み取った後、ツリーのルートノードへのポインターを提供します。ルートノードは、ツリー全体をトラバースするために使用できます。提供されたJSON文字列のルートノードを取得するには、次のコードスニペットを検討してください。
//Create an JsonParser instance
JsonParser parser = new JsonParser();
String jsonString =
"{\"name\":\"Mahesh Kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";
//create tree from JSON
JsonElement rootNode = parser.parse(jsonString);
トラバースツリーモデル
ツリーをトラバースしながらルートノードへの相対パスを使用して各ノードを取得し、データを処理します。次のコードスニペットは、ツリーをトラバースする方法を示しています。
JsonObject details = rootNode.getAsJsonObject();
JsonElement nameNode = details.get("name");
System.out.println("Name: " +nameNode.getAsString());
JsonElement ageNode = details.get("age");
System.out.println("Age: " + ageNode.getAsInt());
例
名前の付いたJavaクラスファイルを作成します GsonTester C:\> GSON_WORKSPACEで。
File − GsonTester.java
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonPrimitive;
public class GsonTester {
public static void main(String args[]) {
String jsonString =
"{\"name\":\"Mahesh Kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";
JsonParser parser = new JsonParser();
JsonElement rootNode = parser.parse(jsonString);
if (rootNode.isJsonObject()) {
JsonObject details = rootNode.getAsJsonObject();
JsonElement nameNode = details.get("name");
System.out.println("Name: " +nameNode.getAsString());
JsonElement ageNode = details.get("age");
System.out.println("Age: " + ageNode.getAsInt());
JsonElement verifiedNode = details.get("verified");
System.out.println("Verified: " + (verifiedNode.getAsBoolean() ? "Yes":"No"));
JsonArray marks = details.getAsJsonArray("marks");
for (int i = 0; i < marks.size(); i++) {
JsonPrimitive value = marks.get(i).getAsJsonPrimitive();
System.out.print(value.getAsInt() + " ");
}
}
}
}
結果を確認する
を使用してクラスをコンパイルします javac 次のようにコンパイラ-
C:\GSON_WORKSPACE>javac GsonTester.java
今実行します GsonTester 結果を見るために-
C:\GSON_WORKSPACE>java GsonTester
出力を確認します。
Name: Mahesh Kumar
Age: 21
Verified: No
100 90 85