我已将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 $
问题是什么?
答案 0 :(得分:2)
在您的JSON示例Children
中定义为字符串:"Children": ""
。但是期待Array a.e. []
要摆脱此错误,您可以将"Children": ""
替换为"Children": []
或尝试删除"Children": ""