我在解析JSON数据时遇到以下错误:
预期为begin_array,但在第1行第34列处为STRING
我找不到解决办法。我的JSON是以下内容:
{"result":0,"count":2,"records":"[{\"name\":\"name1\", \"id\":\"28\", \"photo\":\"\\\/gallery\\\/c9\\\/f0f8\\\/95fb\\\/c9f0f895fb98ab9159f51fd0297e236d\\\/28\\\/tb_uykzubjqmxbv6zkogdsd_c64962310e572f5e8a4c73a44a4fa3dd.jpg\"},{\"name\":\"name2\", \"id\":\"134\", \"photo\":\"\\\/gallery\\\/c9\\\/f0f8\\\/95fb\\\/c9f0f895fb98ab9159f51fd0297e236d\\\/134\\\/tb_23ffxuw9-5ys4iqtwztz_610982fa52cca03412dbc84ab0ea5e18.jpg\"}]"}
这是我的PersonContent类:
public class PersonContent { @SerializedName("result") public int result; @SerializedName("count") public int count; @SerializedName("records") List<Person> records; public List<Person> getRecords() { return records; } public void setRecords(List<Person> records) { this.records = records; } public void setResults(int result) { this.result = result; } public int getResults(){ return result; } public void setCount(int count) { this.count = count; } public int getCount(){ return count; }
以下是人员类别:
public class Person implements Serializable { private static final long serialVersionUID = 1L; @SerializedName("name") public String name; @SerializedName("id") public String id; @SerializedName("photo") public String photo; public Person(){ } public Person( String name,String id,String photo) { this.id = id; this.name = name; this.photo = photo; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhoto() { return photo; } public void setPhoto(String photo) { this.photo = photo; } @Override public String toString() { return name; } }
这是我反序列化前面提到的JSON数据的代码
private void Parse(){ InputStream source = retrieveStream(url); Gson gson = new Gson(); Reader reader = new InputStreamReader(source); personlist = gson.fromJson(reader, PersonContent.class); }
我尝试了在这里找到的所有解决方案,但找不到相同的JSON。
错误出现在您收到的json中:您的类需要一个数组,因为
List<Person> records;
但是然后在你的json中
“记录”: “ [
它一定要是 :
"records": [
并在末尾]“},必须是
]}