android - 动态 JSON 解析错误:expected-begin-object-but-was-string-at-line-1-column-1,如何解决
问题描述
我正在解析动态 JSON,因此使用 POJO(模型类)进行反编译更加复杂
有没有方便的方法来做这个,给我建议。
这是问题
public class Post {
@SerializedName("Resource")
@Expose
private Resource onlineResource;
public Resource getResource() {
return onlineResource;
}
public void setResource(Resource resource) {
this.onlineResource = resource;
}
}
public class Resource {
@SerializedName(value = "_xmlns:xlink",alternate = "xmlns:xlink")
@Expose
private Object xmlnsXlink;
@SerializedName(value = "_xlink:href",alternate = "xlink:href")
@Expose
private Object xlinkHref;
public Object getXmlnsXlink() {
return xmlnsXlink;
}
public void setXmlnsXlink(Object xmlnsXlink) {
this.xmlnsXlink = xmlnsXlink;
}
public Object getXlinkHref() {
return xlinkHref;
}
public void setXlinkHref(Object xlinkHref) {
this.xlinkHref = xlinkHref;
}
}
对于资源类有时会得到 JSON
喜欢 :
{
"Resource": "abcdefgh",
}
或者喜欢:
{
"Resource" :
{
"_xmlns:xlink":"xyz",
"_xlink:href":"abc"
},
}
那么我该如何解析这种类型的随机(动态)Json?
解决方案
首先使用这个类作为你的资源类
public class Resource {
@SerializedName("_xmlns:xlink")
@Expose
private String xmlnsXlink;
@SerializedName("_xlink:href")
@Expose
private String xlinkHref;
public String getXmlnsXlink() {
return xmlnsXlink;
}
public void setXmlnsXlink(String xmlnsXlink) {
this.xmlnsXlink = xmlnsXlink;
}
public String getXlinkHref() {
return xlinkHref;
}
public void setXlinkHref(String xlinkHref) {
this.xlinkHref = xlinkHref;
}
}
对于某些点的变量 json,您需要手动解析 json,只要 json 类型是变量(字符串/对象),请使用以下命令:
json instanceof JSONObject
然后你可以在模型类中传递它的值
推荐阅读
- c# - 发送鼠标左键单击 c# 控制台应用程序
- loops - 不能在循环外打印相同的值
- javascript - 从 React 中的 JSON 推送时,数组仅存储最后一个变量
- numpy - set directory does not work for TemporaryFile
- r - Getting data frame from loadings of factor analysis (fa function in psych)
- json - Query result in JSON format (key value pair) on using @Query annotation in Spring Boot, Hibernate
- php - Php - 显示来自多个表的页面内容?
- ios - 基于关系查找核心数据父对象的谓词
- android - 在 kotlin 中使用不同的语言环境
- python - Selenium Scraping Javascript Table