首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于对象数组的Android Moshi JsonAdapter

用于对象数组的Android Moshi JsonAdapter
EN

Stack Overflow用户
提问于 2018-12-19 07:49:10
回答 1查看 397关注 0票数 0

我有一组Servlets,它们回传对象的数组,比如

代码语言:javascript
复制
 text=[{"sPK":1,"sName":"foobar","cFlag":0},
       {"sPK":5,"sName":"barfoo","cFlag":1}]

在一个java应用程序中,我使用org.fasterXML.Jackson来读取json,并读取我使用的这种性质的数组

代码语言:javascript
复制
ObjectMapper m = new ObjectMappar();
SClass[] ss = m.readValue(response.getResponse(), SClass[].class);

如果我使用Moshi尝试这样的操作

JsonAdapter sJsonAdapter = moshi.adapter(sClass[].class);

这个应用程序有问题,有没有办法用Moshi来完成这个任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 07:53:12

如果要使用Moshi,请创建一个名为ServletsResponse的类,并添加以下内容

代码语言:javascript
复制
public class ServletsResponse{

@Json(name = "sPK")
private Integer sPK;
@Json(name = "sName")
private String sName;
@Json(name = "cFlag")
private Integer cFlag;

public Integer getSPK() {
return sPK;
}

public void setSPK(Integer sPK) {
this.sPK = sPK;
}

public String getSName() {
return sName;
}

public void setSName(String sName) {
this.sName = sName;
}

public Integer getCFlag() {
return cFlag;
}

public void setCFlag(Integer cFlag) {
this.cFlag = cFlag;
}

}

然后你可以解析它,如下所示:

代码语言:javascript
复制
Moshi moshi = new Moshi.Builder().build();
JsonAdapter<ServletsResponse> jsonAdapter = moshi.adapter(ServletsResponse.class);

ServletsResponse servletResponse = jsonAdapter.fromJson(json);
System.out.println(servletResponse );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53842739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档