gpt4 book ai didi

java - 使用 GSON 解析带有子数组的 JSON 数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:53 26 4
gpt4 key购买 nike

假设我有一个像这样的 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","height":"20...},{}]}

然后你需要一个包装类:

class WebServiceResult {
public List<AccessorClass> results;
}

如果您的 JSON 不是这样的格式,那么您创建的 For 循环将执行此操作(如果不是有点笨拙,如果您的 JSON 的格式像上面那样会更好)。

创建图像类

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);

工作完成。

关于java - 使用 GSON 解析带有子数组的 JSON 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9687323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com