Json数组的解析--android

最近项目当中用Json传输,但是被返回的数据困惑了半天(返回的数据只有头是有key的并且是数组嵌套数组最后在解析内部数组时十分无奈只能用split进行分割!!)

try {
				JSONObject jsonObject = new JSONObject(result.toString()); 
				// 获取某个对象的JSON数组
				JSONArray jsonArrayone = jsonObject.getJSONArray("result").getJSONArray(0);//以result解析
				for (int i = 0; i < jsonArrayone.length(); i++) {
					Person person=new Person();
					String temp_item= (String) jsonArrayone.opt(i);//相应的对象数组但类型为String
					String[] item=temp_item.substring(2, temp_item.length()-2).split("\",\""); 
					person.setId(Integer.parseInt(item[0]));	
					person.setName(item[1]);
					person.setAvator_image(item[2]);
					person.setProblem(Integer.parseInt(item[3]));
					list_persons.add(person);
				}
				GridViewAdapter adapter= new GridViewAdapter(R.layout.person_item,MainActivity.this ,list_persons, cache);
				gridview.setAdapter(adapter);
			}

常见的几种数组解析

若返回的就是一个json数组那么直接转为JSONArray

  try {
      JSONArray jsonArray = new JSONArray(json);
      for (int i=0;i<jsonArray.length();i++)
      {
         JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
         //里面用直接getString("key")取就好了这种比较常见
       
      }

总而言之数据转json

1.若数据为数组这直接

<span style="font-family:KaiTi_GB2312;">JSONArray jsonArray = new JSONArray(json);</span>
2.若数据是对象套数组则通过key获取相应的value,数组的value在转为JSONArray重复1的步骤

3.最后通过通过for循环把相应的value值取出!!!

若json为一个对象 那么直接通过key取出来就ok了


个人小结。。有问题还望指出。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值