【发布时间】:2014-09-30 10:40:33
【问题描述】:
我的 JSON 是这样的:
{
"people":
{
"stuff":"OK",
"name":"some reason",
"content" :
{
"name": "pet",
"phone": "some value",
"owner": "123"
}
},
"machines":
{
"owner":
{
"id": "123",
"name": "peter"
}
}
}
我的所有者类如下所示:
public class Owner {
@Expose
private String id;
@Expose
private String name;
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;
}
}
我收到此错误:Expected BEGIN_OBJECT but was STRING
我为所有者做了一个 pojo,但我的问题是层次结构级别 3 上的所有者只是一个字符串,而在较低级别它是一个自定义对象。如何告诉我的解析器从不同于以前的第三级开始处理所有者对象?
【问题讨论】:
-
什么是字段不一致在 try-catch 块中获取这些值。
-
使用在线解析器进行正确的 json 解析,一切顺利:jsoneditoronline.org
-
使用gson解析器直接返回对象
-
不确定我是否明白,请您提供代码示例
标签: java android json gson retrofit