1、直接一个数组
前面为jsondata,下面是解析方法:
<strong>// [{"devid":"1234567800","latitude":"29.4963","longitude":"116.189","postime":"2014-06-10 12:13:00"}, // {"devid":"1234567832","latitude":"29.4943","longitude":"1161.129","postime":"2014-06-11 12:13:00"}] JSONArray jsonArray = new JSONArray(jsonData); for (int i=0;i<jsonArray.length();i++) { JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i); str=str+"第"+i+"个,devid:"+jsonObject2.getString("devid")+"维度:"+jsonObject2.getString("latitude")+"\n"; }</strong>
2、最简单 的 直接一个对象
前面为jsondata,下面是解析方法:
<span style="font-size:24px;"> </span><span style="font-size:18px;"> // {"username":"zms",age:23,"addr","from china"}; String json="{\"username\":\"zms\",\"age\":43,\"addr\":\"江西省高安市村前镇\"}";
</pre><pre name="code" class="java" style="font-weight: bold;"> JSONObject jsonObject2 =new JSONObject(json); str="名字:"+jsonObject2.getString("username")+"年薪:"+jsonObject2.getString("age")+jsonObject2.getString("addr")+"\n";</span>
<span style="font-size:18px;"> </span>
3、 对象里有数组
<span style="font-size:24px;"> </span><span style="font-size:18px;">//{"username":"zms",age:11,</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>"jicheng":[{"zhengshu":"PMP","date":"2011年"},</span>
<span style="font-size:18px;"> <span style="white-space:pre"> </span> {"zhengshu":"信息系统项目管理师","date","2012年"}]</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>,"addr":"江西"}</span>
<span style="font-size:18px;"> // 这种也属于 对象里有数组 </span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>{"json":[{"username":"zms","date":"2011年"},{"username":"ivy","date","2012年"}]}</span>
<span style="font-size:18px;"> String json= "{\"username\":\"张木生\",age:11,\</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>"jicheng\":[{\"zhengshu\":\"PMP\",\"date\":\"2011年\"},</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>{\"zhengshu\":\"信息系统项目管理师\",\"date\":\"2012年\"}],</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>\"addr\":\"江西\"}";
JSONObject jsonObject2 =new JSONObject(json); str="名字:"+jsonObject2.getString("username"); str=str+"工龄:"+jsonObject2.getString("age")+"证书:"; JSONArray jsonArray = jsonObject2.getJSONArray("jicheng"); for (int i=0;i<jsonArray.length();i++) { JSONObject jsonObjectSon= (JSONObject)jsonArray.opt(i); str=str+jsonObjectSon.getString("zhengshu")+"年份:"+jsonObjectSon.getString("date"); } str=str+"籍贯"+jsonObject2.getString("addr");</span>
4、直接一个数组
// [{"devid":"1234567800","latitude":"29.4963","longitude":"116.189"},{"devid":"1234567832","latitude":"29.4943","longitude":"1161.129"}] String json="[{\"devid\":\"1234567800\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"devid\":\"1234567832\",\"latitude\":\"29.4943\",\"longitude\":\"1161.129\"}]";
</pre><pre name="code" class="java"> JSONArray jsonArray = new JSONArray(json); for (int i=0;i<jsonArray.length();i++) { JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i); str=str+"第"+i+"个,devid:"+jsonObject2.getString("devid")+"维度:"+jsonObject2.getString("latitude")+"经度<span style="white-space:pre"> </span> :"+jsonObject2.getString("longitude")+"\n"; }
/*从安卓3.0以后,就不允许在主线程中直接访问网络,必须在子线程中访问
访问后要修改主线程的UI,需要使用handler通信*/
详细见下一篇
解决方法:可以使用采用异步或者开启新的子线程
前面为jsondata,下面是解析方法:
<strong>// [{"devid":"1234567800","latitude":"29.4963","longitude":"116.189","postime":"2014-06-10 12:13:00"}, // {"devid":"1234567832","latitude":"29.4943","longitude":"1161.129","postime":"2014-06-11 12:13:00"}] JSONArray jsonArray = new JSONArray(jsonData); for (int i=0;i<jsonArray.length();i++) { JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i); str=str+"第"+i+"个,devid:"+jsonObject2.getString("devid")+"维度:"+jsonObject2.getString("latitude")+"\n"; }</strong>
2、最简单 的 直接一个对象
前面为jsondata,下面是解析方法:
<span style="font-size:24px;"> </span><span style="font-size:18px;"> // {"username":"zms",age:23,"addr","from china"}; String json="{\"username\":\"zms\",\"age\":43,\"addr\":\"江西省高安市村前镇\"}";
</pre><pre name="code" class="java" style="font-weight: bold;"> JSONObject jsonObject2 =new JSONObject(json); str="名字:"+jsonObject2.getString("username")+"年薪:"+jsonObject2.getString("age")+jsonObject2.getString("addr")+"\n";</span>
<span style="font-size:18px;"> </span>
3、 对象里有数组
<span style="font-size:24px;"> </span><span style="font-size:18px;">//{"username":"zms",age:11,</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>"jicheng":[{"zhengshu":"PMP","date":"2011年"},</span>
<span style="font-size:18px;"> <span style="white-space:pre"> </span> {"zhengshu":"信息系统项目管理师","date","2012年"}]</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>,"addr":"江西"}</span>
<span style="font-size:18px;"> // 这种也属于 对象里有数组 </span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>{"json":[{"username":"zms","date":"2011年"},{"username":"ivy","date","2012年"}]}</span>
<span style="font-size:18px;"> String json= "{\"username\":\"张木生\",age:11,\</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>"jicheng\":[{\"zhengshu\":\"PMP\",\"date\":\"2011年\"},</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>{\"zhengshu\":\"信息系统项目管理师\",\"date\":\"2012年\"}],</span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>\"addr\":\"江西\"}";
JSONObject jsonObject2 =new JSONObject(json); str="名字:"+jsonObject2.getString("username"); str=str+"工龄:"+jsonObject2.getString("age")+"证书:"; JSONArray jsonArray = jsonObject2.getJSONArray("jicheng"); for (int i=0;i<jsonArray.length();i++) { JSONObject jsonObjectSon= (JSONObject)jsonArray.opt(i); str=str+jsonObjectSon.getString("zhengshu")+"年份:"+jsonObjectSon.getString("date"); } str=str+"籍贯"+jsonObject2.getString("addr");</span>
4、直接一个数组
// [{"devid":"1234567800","latitude":"29.4963","longitude":"116.189"},{"devid":"1234567832","latitude":"29.4943","longitude":"1161.129"}] String json="[{\"devid\":\"1234567800\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"devid\":\"1234567832\",\"latitude\":\"29.4943\",\"longitude\":\"1161.129\"}]";
</pre><pre name="code" class="java"> JSONArray jsonArray = new JSONArray(json); for (int i=0;i<jsonArray.length();i++) { JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i); str=str+"第"+i+"个,devid:"+jsonObject2.getString("devid")+"维度:"+jsonObject2.getString("latitude")+"经度<span style="white-space:pre"> </span> :"+jsonObject2.getString("longitude")+"\n"; }
/*从安卓3.0以后,就不允许在主线程中直接访问网络,必须在子线程中访问
访问后要修改主线程的UI,需要使用handler通信*/
详细见下一篇
解决方法:可以使用采用异步或者开启新的子线程