gpt4 book ai didi

java - 在Android上使用GSON解析JSON数据

转载 作者:行者123 更新时间:2023-12-01 06:18:17 27 4
gpt4 key购买 nike

我正在尝试使用 Gson 解析以下 JSON 数据:

[
{
"idRed":1,
"nombre":"XXXX",
"imagen":"XXXXX.png",
"imagenPublica":"XXXXX.png",
"grupos":[
{
"idGrupo":-1,
"nombre":"Todos"
},
{
"idGrupo":1,
"nombre":"Principal"
}
]
},
...
]

我有两个实体来封装 JSON 数据:

public class Red implements Parcelable {
@SerializedName("idRed")
private long idRed = 0;
@SerializedName("nombre")
private String nombre = "";
@SerializedName("imagen")
private String url = "";
@SerializedName("grupos")
private ArrayList<Grupo> grupos = new ArrayList<Grupo>();

//getters and setters
}

还有:

public class Grupo implements Parcelable {  
@SerializedName("idGrupo")
private long idGrupo = 0;
@SerializedName("idRed")
private long idRed = 0;
@SerializedName("nombre")
private String nombre = null;

//getters and setters
}

最后我有这段代码来解析 JSON 数据:

Gson gson = new Gson();
List<Red> redes = (List<Red>) gson.fromJson(result, new TypeToken<List<Red>>() {}.getType());

我可以在变量 result 中看到我的 JSON,但程序抛出异常。

你能发现我的代码中存在任何错误吗?

最佳答案

首先:将根添加到 json。通过post/get获取到这个json后,就可以通过字符串操作来完成。

{
result: [
{
"idRed":1,
"nombre":"XXXX",
"imagen":"XXXXX.png",
"imagenPublica":"XXXXX.png",
"grupos":[
{
"idGrupo":-1,
"nombre":"Todos"
},
{
"idGrupo":1,
"nombre":"Principal"
}
]
},
...
]
}

为root添加一个新类,其余类仍然可以使用。

public class Result implements Parcelable {
@SerializedName("result")
private ArrayList<Red> grupos = new ArrayList<Red>();
}

关于java - 在Android上使用GSON解析JSON数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18216259/

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