gpt4 book ai didi

java - 我无法通过 GSON 将 json 字符串转换为 List

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:59 25 4
gpt4 key购买 nike

我想通过 GSON 库将 Json 字符串转换为 List。

 public <T> List<T> getModelList(String jsonStr, Class<T> type) {
Type listType = new TypeToken<ArrayList<T>>(){}.getType();
List<T> yourClassList = new Gson().fromJson(jsonStr, listType);
return yourClassList;
}

然后我打电话

List<CallDetail> callDetails = Converter.me().getModelList(responseMessage.getResult(), CallDetail.class);

但是我得到的列表是 com.google.gson.internal.LinkedTreeMap对象,但我需要 List<CallDetail>

Json字符串片段

"result": "[{\"servedimei\":\"3579330679481801\",\"тип сетевого события\":\"Исходящий голос\",\"время начала события\":\"2016-01-01 19:33:10.0\"

POJO

public class CallDetail {

private String servedimei;
@SerializedName("тип сетевого события")
private String type;
@SerializedName("время начала события")
private String starttime;
@SerializedName("вызывающий абонент")
private String src;
@SerializedName("вызываемый абонент")
private String dest;
@SerializedName("длительность")
private String duration;
@SerializedName("базовая станция")
private String bs;
private String lac;
private String ci;

最佳答案

从日志来看,非常简单。 JSON 字符串包含 result 字段,其中包含 array,GSON 将其视为 Map。您需要再上一个类才能获得所需的结果。

class CallDetailResult {
List<CallDetail> result;
// getter and setter
}

// how to use GSON here to get the desired result
CallDetailResult result = new Gson().fromJson(jsonStr, CallDetailResult.class);
List<CallDetail> list = result.getResult();

了解更多信息 www.json.org

enter image description here

enter image description here

关于java - 我无法通过 GSON 将 json 字符串转换为 List<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34944874/

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