আমি গুগলের জিসনকে একটি সম্ভাব্য জেএসএন প্লাগইন হিসাবে দেখেছি। আমি কীভাবে এই জেএসএন স্ট্রিং থেকে জাভা তৈরি করতে পারি সে সম্পর্কে কেউ কোনও নির্দেশিকার কিছু ফর্ম সরবরাহ করতে পারে?
গুগল গসন জেনারিকস এবং নেস্টেড মটরশুটি সমর্থন করে। []
তাদেরকে JSON মধ্যে একটি অ্যারের প্রতিনিধিত্ব করে এবং যেমন একটি জাভা সংগ্রহ ম্যাপ উচিত List
বা শুধু একটি প্লেইন জাভা অ্যারে। {}
তাদেরকে JSON মধ্যে একটি বস্তুর উপস্থাপন করে এবং একটি জাভা ম্যাপ উচিত Map
বা শুধু কিছু জাভা বিন বর্গ।
আপনার কাছে বেশ কয়েকটি বৈশিষ্ট্যের সাথে একটি জেএসওএন অবজেক্ট রয়েছে যার groups
সম্পত্তি খুব একই ধরণের নেস্টেড অবজেক্টের অ্যারে উপস্থাপন করে। এটি নিম্নলিখিত উপায়ে গসনের সাথে বিশ্লেষণ করা যায়:
package com.stackoverflow.q1688099;
import java.util.List;
import com.google.gson.Gson;
public class Test {
public static void main(String... args) throws Exception {
String json =
"{"
+ "'title': 'Computing and Information systems',"
+ "'id' : 1,"
+ "'children' : 'true',"
+ "'groups' : [{"
+ "'title' : 'Level one CIS',"
+ "'id' : 2,"
+ "'children' : 'true',"
+ "'groups' : [{"
+ "'title' : 'Intro To Computing and Internet',"
+ "'id' : 3,"
+ "'children': 'false',"
+ "'groups':[]"
+ "}]"
+ "}]"
+ "}";
// Now do the magic.
Data data = new Gson().fromJson(json, Data.class);
// Show it.
System.out.println(data);
}
}
class Data {
private String title;
private Long id;
private Boolean children;
private List<Data> groups;
public String getTitle() { return title; }
public Long getId() { return id; }
public Boolean getChildren() { return children; }
public List<Data> getGroups() { return groups; }
public void setTitle(String title) { this.title = title; }
public void setId(Long id) { this.id = id; }
public void setChildren(Boolean children) { this.children = children; }
public void setGroups(List<Data> groups) { this.groups = groups; }
public String toString() {
return String.format("title:%s,id:%d,children:%s,groups:%s", title, id, children, groups);
}
}
মোটামুটি সহজ, তাই না? কেবলমাত্র একটি উপযুক্ত জাভাবিয়ান এবং কল করুন Gson#fromJson()
।
আরো দেখুন: