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());
उदाहरण
नाम से एक जावा वर्ग फ़ाइल बनाएँ 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