আমি জেএসএন অ্যারে পার্স করতে এবং জিএসএন ব্যবহার করতে চাই। প্রথমত, আমি জেএসএন আউটপুট লগ করতে পারি, সার্ভার ক্লায়েন্টের সাথে স্পষ্টভাবে দায়বদ্ধ।
এখানে আমার JSON আউটপুট:
[
{
id : '1',
title: 'sample title',
....
},
{
id : '2',
title: 'sample title',
....
},
...
]
পার্সিংয়ের জন্য আমি এই কাঠামোটি চেষ্টা করেছি। একটি শ্রেণি, যা একক array
এবং ArrayList
সমস্ত JSONArray এর জন্য নির্ভর করে ।
public class PostEntity {
private ArrayList<Post> postList = new ArrayList<Post>();
public List<Post> getPostList() {
return postList;
}
public void setPostList(List<Post> postList) {
this.postList = (ArrayList<Post>)postList;
}
}
পোস্ট ক্লাস:
public class Post {
private String id;
private String title;
/* getters & setters */
}
আমি যখন জিএসএন ব্যবহার করার চেষ্টা করব তখন কোনও ত্রুটি, কোনও সতর্কতা এবং কোনও লগ নেই:
GsonBuilder gsonb = new GsonBuilder();
Gson gson = gsonb.create();
PostEntity postEnt;
JSONObject jsonObj = new JSONObject(jsonOutput);
postEnt = gson.fromJson(jsonObj.toString(), PostEntity.class);
Log.d("postLog", postEnt.getPostList().get(0).getId());
কী হয়েছে, আমি কীভাবে সমাধান করব?