安卓无法解析json

zana 发布于 2014/03/28 09:44
阅读 1K+
收藏 0
public class JsonTools {

	public JsonTools() {
		// TODO Auto-generated constructor stub
	}

	

	public static List<cookbook> getcookbook(String key, String jsonString) {
		List<cookbook> list = new ArrayList<cookbook>();
		try {
			JSONArray jsonArray = new JSONObject(jsonString).getJSONArray(key);
			// 返回json的数组

			for (int i = 0; i < jsonArray.length(); i++) {
				JSONObject jsonObject1 = jsonArray.getJSONObject(i);
			
				cookbook cb=new cookbook();
				cb.setBreakfast(jsonObject1.getString("Breakfast"));
				cb.setAdd1(jsonObject1.getString("Add1"));
				cb.setLunch(jsonObject1.getString("Lunch"));
				cb.setAdd2(jsonObject1.getString("Add2"));
				cb.setDinner(jsonObject1.getString("Dinner"));
				cb.setEnergy(jsonObject1.getString("Energy"));
				cb.setProtein(jsonObject1.getString("Protein"));
				cb.setFat(jsonObject1.getString("Fat"));
				cb.setCHO(jsonObject1.getString("CHO"));
				cb.setDietaryfiber(jsonObject1.getString("Dietaryfiber"));
				list.add(cb);
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
		return list;
	}
}

在MainActivity中的onClick事件中:

String jsonString = HttpUtils.getJsonContent(urlStr+"?"+params);
List<cookbook> list = JsonTools.getcookbook("cookbook",
						jsonString);
int i =list.size();
String iString=Integer.toString(i);
textView.setText(iString);

list中没有任何内容,为什么添加不进去呢?求助!!!

加载中
0
Romen
Romen
上面第十二行的jsonArray有数据么?
0
不喜欢敷衍
不喜欢敷衍
看不出有什么解析错误 debug下吧 也许某个字段名出错了
0
superxinlee
superxinlee
你把json串打印出来看看吧,另外可以考虑使用fastjson或者gson,不用自己一个一个写了。
0
os_jason
os_jason

谷歌有个解析json的工具,gson,挺好用,可以试试

0
leung159896
leung159896
怎么写得这么麻烦,这么乱,用Gson就2,3行代码而已,都不用写set和get方法。
返回顶部
顶部