Java中使用JSON进行parse操作时一个重要的注意事项
2014-07-13 23:39
549 查看
最近在写一个Android项目,其中包含了客户端与服务端的通信。通信使用了JSON来包装传输的数据,当在客户端试图解析从服务端得到的String时,解析出来的Class里的成员变量的值总是null,调了一整天脾气都调没了。
结论如下:
假设要解析的类为User,定义如下:
JSON解析的语句如下:
结论如下:
假设要解析的类为User,定义如下:
public class User{ private int id; private String title; private String pic; public int getId() { return id; } public String getTitle() { return title; } public String getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } public void setTitle(String title) { this.title = title; } public void setId(int id) { this.id = id; } }
JSON解析的语句如下:
JSONObject j = new JSONObject(paramString); List<User> list = JSON.parseArray(j.getString("user_list"), User.class);像这么写是可以正常运行的。但是如果User类里没有setPic(),serTitle(),setId()这三个函数,最后得到的list里面的User里的pic,title,id的值都会是null和0。也就是说JSON为了把值放入解析的目标类里给你,那你就必需在你的类里面为每一个需要的成员变量写“set变量名”的设置函数(变量名的首字母还应大写)。
相关文章推荐
- 在一个FragmentTransaction中进行多个操作时的注意事项
- Java中post一个Json时候注意事项
- 使用java对图像进行切分的程序及注意事项
- 关于STM32定时器使用的一个注意事项(以此为前车之鉴,重要!)
- 一个程序员(Java工程师日记第二刊 使用接口注意事项)
- Node.js中使用JSON的一个注意事项
- 一个使用动态Javascript脚本绑定的注意事项
- Domino使用Java代理的注意事项
- VS 2005环境下使用boost ::bind的一个注意事项
- 我也再补充一个NANT使用注意事项
- VS 2005环境下使用boost ::bind的一个注意事项
- FLEX与Java进行通信时GET与POST的注意事项
- JSP运行在tomcat下时,页面java代码的变量命名的一个注意事项
- Java中的String使用及注意事项
- 使用串口COM进行双机调试的一些注意事项
- 一个FTP上传组件及使用注意事项
- 关于Flex使用Blazeds连接Java后台的一个注意笔记
- 使用JSON报的一个错误java.lang.ClassNotFoundException
- 将一个完整的java web 项目中的部分模块做成Webservice服务注意事项
- GDAL通过swig,在.net和java下使用注意事项.