Reputation: 381
I have converted a jsonArray to string :
[{"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":""}]
now I want convert it to pojo java class by Gson as a List<EventData>
List<EventData> result = GsonUtil.createGson().fromJson(eventArray,
new TypeToken<List<EventData>>() {}.getType());
notifyParcel.setEventData(result);
this is my pojo class:
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;
}
}
I go this error:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 2 path $
what is the problem?
Upvotes: 2
Views: 243
Reputation: 77904
In your JSON example Children
defined as string: "Children": ""
. But expects Array a.e. []
To get rid of this error, you can replace "Children": ""
with "Children": []
or try to remove "Children": ""
at all
Upvotes: 2