2 u010880786 u010880786 于 2016.03.18 16:35 提问

json解析数字为什么会是null?

json部分数据如下(json数据在bejson网上校验过正确):
{"Pid":"kesou2.jpg","Title":"小儿咳嗽怎么办?","Url":"/Baby/pic/kesou_","Count":7}
javabean如下:
public class ListItem implements Serializable{
private String Pid;
private String Title;
private String Url;
private Integer Count;
//set,get,构造函数略
}
解析json部分代码如下:
JSONArray jsonArray = JsonUtils.getJsonArry("listitem.json",
context);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
String pid = object.getString("Pid");
String title = object.getString("Title");
String Url = object.getString("Url");
Integer Count = object.getInt("Count");
ListItem item = new ListItem(pid, title, Url, Count);
mData.add(item);
解析完后log输出如下:
_Log.i("haha", mData.get(0).getCount()+","+mData.get(0).getTitle()); _
结果:
_03-18 16:17:23.445: I/haha(7960): null,小儿咳嗽怎么办?

请问各位我到底是在哪个地方出错了呢?为什么会解出null值呢?上面的json里明明count写的是7啊!!!!!

5个回答

szq0792
szq0792   2016.03.18 16:36

试着用Gson解析,或者打断点

u013772876
u013772876   2016.03.18 17:10
 List<ListItem> listItems = JSONArray.toList("listitem.json",ListItem.class);
for(ListItem l:listItems){
...........
}

直接解析成一个泛型list呢

zl18603543572
zl18603543572   2016.03.18 17:23

把上面contunt改成int类型的试下

u010880786
u010880786 log输出变成 0,小儿咳嗽怎么办?
一年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.03.18 17:25

估计是工具的问题,,

u010880786
u010880786 工具问题是指什么呢?
一年多之前 回复
zhouxiongfei
zhouxiongfei   2016.03.18 18:03

可能是工具的问题,还有明明是JsonObject为什么要转为JsonArray呢,定义变量类型为什么用Integer

u010880786
u010880786 因为这只是其中的一条数据,我没有粘贴完。int类型我试过不行所以我才改integer试试看的,工具有问题是指什么呢?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!