假设我有一个JSON字符串,如:
{“Title”:“aaa”,“url”:“bbb”,“image”:{“url”:“ccc”,“wIDth”:“100”,“height”:“200”},…
我的访问者:
import com.Google.gson.annotations.Serializedname;public class accessorClass { @Serializedname("Title") private String Title; @Serializedname("url") private String url; @Serializedname("image") private String image; // how do I place the sub-arrays for the image here? ... public final String get_Title() { return this.Title; } public final String get_url() { return this.url; } public final String get_image() { return this.image; } ...}
我的主要人物:
Gson gson = new Gson(); JsonParser parser = new JsonParser(); JsonArray Jarray = parser.parse(Jstring).getAsJsonArray(); ArrayList<accessorClass > aens = new ArrayList<accessorClass >(); for(JsonElement obj : Jarray ) { accessorClass ens = gson.fromJson( obj , accessorClass .class); aens.add(ens); }
您认为在这里获取图像的子阵列的最佳方法是什么?
解决方法:
仅供参考,如果你的JsON是一个数组:{“results:”:[{“Title”:“aaa”,“url”:“bbb”,“image”:{“url”:“ccc”,“wIDth”:“ 100\” , “高度”:“20 …},{}]}
然后你需要一个包装类:
class WebServiceResult { public List<AccessorClass> results;}
如果你的JsON没有像那样格式化,那么你创建的For循环就会这样做(如果你的JsON形成的话,如果不是有点笨重的话会更好).
创建一个Image类
class ImageClass { private String url; private int wIDth; private int height; // Getters and setters}
然后更改您的AccessorClass
@Serializedname("image") private ImageClass image; // Getter and setter
然后GSON传入String
Gson gson = new Gson();AccessorClass object = gson.fromJson(result, AccessorClass.class);
任务完成.
总结以上是内存溢出为你收集整理的使用GSON解析带有子数组的JSON数组?全部内容,希望文章能够帮你解决使用GSON解析带有子数组的JSON数组?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)