简单解析json数据(接上篇创建json数据)
2015-10-27 20:35
597 查看
解析json数据(接上篇 创建json数据)
1. 先了解json数据格式
{ 键:值,键:值,... }
[ 值,值,... ]
2. 创建 JSONObject 与 JSONArray 对象 传入 数据,例:
3. 若是 相嵌 的JSON数据,可以这么做:
4. 取出值(其实方法与3差不多)
代码,接着上篇 创建JSON数据
要与上篇代码一起用才能打印出这结果
打印结果:
上篇打印结果:
1. 先了解json数据格式
{ 键:值,键:值,... }
[ 值,值,... ]
2. 创建 JSONObject 与 JSONArray 对象 传入 数据,例:
<pre name="code" class="java">String msg = ""; //若msg是遇到 { 开头,就创建 JSONObject 对象 JSONObject jsonobject = JSONObject.fromObject(msg) //若mgs是遇到 [ 开头,就创建 JSONArray 对象 JSONArray jsonarray = JSONArray.fromObject(msg)
3. 若是 相嵌 的JSON数据,可以这么做:
//[{键:值,键:值,...},{键:值,键:值,...}] JSONObject jsonobjcet = jsonarray.getJSONObject(key); //[[值,值,...],[值,值,...]] JSONArray new_jsonarray = jsonarray.getJSONArray(index); //{键:[值,值,...],键:[值,值,...],...}JSONArrayjsonarray = jsonobject.getJSONArray(index); //{键:{键:[值,值,...],键:[值,值,...],...},键:{键:[值,值,...],键:[值,值,...],...},...} JSONObject new_jsonobject = jsonobject.getJSONObject(key);
4. 取出值(其实方法与3差不多)
//对于 JSONObject , 调用 jsonobject.getString(key); 方法 //对于 JSONArray , 要使用循环取出 for(int i;i<jsonarray.size();i++){ jsonarray.getString(i); }
代码,接着上篇 创建JSON数据
public class JsonRunning { public static void main(String[] args) { // 以下是上篇的代码 /* JsonService jsonService = new JsonService(); Person person = jsonService.getPerson(); System.out.println(JsonTool.createJsonString("Person", person)); System.out.println(JsonTool.createJsonString("Myfriends", jsonService.getlistPerson())); System.out.println(JsonTool.createJsonString("Address", jsonService.getlistaddress())); System.out.println(JsonTool.createJsonString("list_map", jsonService.getlistmap())); */ // 正片开始 String msg=""; System.out.println(); msg = JsonTool.createJsonString("Person", person); System.out.println("Person:"); try { JSONObject jsonObject00 = JSONObject.fromObject(msg); if (jsonObject00.has("Person")) { JSONObject jsonObject01 = jsonObject00.getJSONObject("Person"); System.out.println("address:" + jsonObject01.getString("address")); System.out.println("id:" + jsonObject01.getString("id")); System.out.println("name:" + jsonObject01.getString("name")); } } catch (Exception e) { // TODO: handle exception } System.out.println(); msg = JsonTool.createJsonString("Myfriends", jsonService.getlistPerson()); System.out.println("Myfriends:"); try { JSONObject jsonObject10 = JSONObject.fromObject(msg); JSONArray jsonArray10 = jsonObject10.getJSONArray("Myfriends"); for(int i = 0;i<jsonArray10.size();i++){ JSONObject jsonObject11 = jsonArray10.getJSONObject(i); System.out.println("address:"+jsonObject11.getString("address")); System.out.println("id:"+jsonObject11.getString("id")); System.out.println("name:"+jsonObject11.getString("name")); } } catch (Exception e) { // TODO: handle exception } System.out.println(); msg = JsonTool.createJsonString("Address", jsonService.getlistaddress()); System.out.println("Address:"); try { JSONObject jsonObject30 = JSONObject.fromObject(msg); JSONArray jsonArray30 = jsonObject30.getJSONArray("Address"); for(int i =0;i<jsonArray30.size();i++){ System.out.println(jsonArray30.getString(i)); } } catch (Exception e) { // TODO: handle exception } System.out.println(); msg = JsonTool.createJsonString("list_map", jsonService.getlistmap()); System.out.println("list_map:"); try { JSONObject jsonObject40 = JSONObject.fromObject(msg); JSONArray jsonArray40 = jsonObject40.getJSONArray("list_map"); for(int i =0;i<jsonArray40.size();i++){ JSONObject jsonObject41 = jsonArray40.getJSONObject(i); System.out.println("name:"+jsonObject41.get("name")); System.out.println("address:"+jsonObject41.get("address")); System.out.println("id:"+jsonObject41.get("id")); } } catch (Exception e) { // TODO: handle exception } } }
要与上篇代码一起用才能打印出这结果
打印结果:
上篇打印结果:
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统