Java 在更深层的层次结构中解析json对象
我的JSON喜欢这样:Java 在更深层的层次结构中解析json对象,java,android,json,gson,retrofit,Java,Android,Json,Gson,Retrofit,我的JSON喜欢这样: { "people": { "stuff":"OK", "name":"some reason", "content" : { "name": "pet", "phone": "some value", "owner": "123" } }, "machine
{
"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;
}
}
我的所有者类如下所示:
{
"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;
}
}
我得到了这个错误:应该是BEGIN\u对象,但却是STRING
我为所有者创建了一个pojo,但我的问题是,层次结构级别3上的所有者只是一个字符串,而在较低级别上,它是一个自定义对象。如何让解析器从与以前不同的第三级开始处理所有者对象?使用googleGson解析器lob从jSON创建java对象
好的,我刚刚创建了另一个同名的Pojo+'.'一个Pojo包含所有者作为字符串,另一个作为所有者对象。比预期的更容易,没有解析需要进行什么是字段不一致在try catch块中获取这些值。使用在线解析器进行正确的json解析,一切正常:使用gson解析器,它将直接返回对象不确定我是否得到它,请提供代码示例