【问题标题】:convert jsonString to list by GSON通过 GSON 将 jsonString 转换为列表
【发布时间】:2017-09-01 16:57:32
【问题描述】:

我已将 jsonArray 转换为字符串:

[{"Key":"Comment","Value":"گواهی پایانکار با شماره ارجاع 2168439 صادر شد","Children":""},{"Key":"Version","Value":"BIZ.SC- Version=8.8.495.1","Children":""},{"Key":"lat","Value":"0","Children":""},{"Key":"lng","Value":"0","Children":""},{"Key":"District","Value":"11","Children":""},{"Key":"ScheduledMessage","Value":"{\"Id\":\"41b02583-1974-4f31-8ba1-c58d035f388b\",\"NotificationId\":\"53a23080-88cf-4256-855c-6ef2a51f2aab\",\"DistributionId\":\"98ee1d58-dd1e-4ef9-b82a-0af2a2a0e9ef\",\"CreationDateTime\":\"\\\/Date(1504277609736)\\\/\",\"ExpirationDateTime\":\"\\\/Date(4070908800000)\\\/\",\"Address\":\"Topics\/Notifications\/Global\",\"FileName\":\"\"}","Children":""}]

现在我想将它转换为 Gson 的 pojo java 类作为List<EventData>

List<EventData> result = GsonUtil.createGson().fromJson(eventArray,
new TypeToken<List<EventData>>() {}.getType());

notifyParcel.setEventData(result);

这是我的 pojo 课:

public class EventData implements Serializable{
private List<Children> Children;
private String Key;
private String Value;

public List<Children> getChildren() {
    return Children;
}

public void setChildren(List<Children> children) {
    Children = children;
}

public String getKey() {
    return Key;
}

public void setKey(String key) {
    Key = key;
}

public String getValue() {
    return Value;
}

public void setValue(String value) {
    Value = value;
}
}

我犯了这个错误:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 2 path $

有什么问题?

【问题讨论】:

    标签: android arraylist gson


    【解决方案1】:

    在您的 JSON 示例中,Children 定义为字符串:"Children": ""。但期望 Array a.e. []

    要消除此错误,您可以将"Children": "" 替换为"Children": [] 或尝试完全删除"Children": ""

    【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2018-04-01
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多