什么是json以及json解析

来源:互联网 发布:java if else创建 编辑:程序博客网 时间:2024/05/22 11:50

什么是json:

JSONJavaScript Object Natation的简称,它是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互。JSON易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立语言的文本格式,但是也是用了类似于C语言家族的习惯(包括C,C++,C#,JAVA,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。

两种数据结构

 一种是以(key/value)对形式存在的无序的jsonObject对象,一个对象以“{”(左花括号)开始,“}”(右花括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。
 

例如:{"name": "xiaoli"},这就是一个最简单的json对象,对于这种数据格式,key值必须要是string类型,而对于value,则可以是stringnumberobjectarray等数据类型


 另一种数据格式就是有序的value的集合,这种形式被称为是jsonArray,数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
 

例如:[{“name”: “xiaoli”}{“name”:”xiaoming”},]这就是一个最简单的jsonArray对象,对于这种数据格式, 值(value)可以是双引号括起来的字符串(string)、数值(number)truefalsenull、对象(object)或者数组(array)。这些结构可以嵌套。


json object  生成:

[java] view plaincopy
  1. <span style="font-size:18px;">private String createJson() throws JSONException  
  2.     {  
  3.         JSONObject obj = new JSONObject();  
  4.         obj.put("name""xiaoli");  
  5.         return obj.toString();  
  6.     }</span>  

json array  生成:

[java] view plaincopy
  1. <span style="font-size:18px;">private String createJsonArray() throws JSONException  
  2.     {  
  3.         JSONArray array = new JSONArray();  
  4.         JSONObject obj = new JSONObject();  
  5.         obj.put("name""xiaoli");  
  6.         JSONObject obj1 = new JSONObject();  
  7.         obj1.put("name""xiaowang");  
  8.           
  9.         array.put(obj);  
  10.         array.put(obj1);  
  11.         return array.toString();  
  12.     }</span>  

json object 解析:

[java] view plaincopy
  1. <span style="font-size:18px;">private void parseJson(String json)   
  2.     {  
  3.         try  
  4.         {  
  5.             JSONObject obj = new JSONObject(json);  
  6.             String name = obj.getString("name");  
  7.             System.out.println("name:"+name);  
  8.         }catch (JSONException e)  
  9.         {  
  10.             // TODO Auto-generated catch block  
  11.             e.printStackTrace();  
  12.         }  
  13.     }</span>  

json array 解析:

[java] view plaincopy
  1. <span style="font-size:18px;"private void  parseJsonArray(String array) {  
  2.           
  3.         try {  
  4.             JSONArray jarray = new JSONArray(array);  
  5.               
  6.             for(int i = 0;i<jarray.length();i++)  
  7.             {  
  8.                 JSONObject obj = jarray.getJSONObject(i);  
  9.                 Log.e("obj:",obj.toString());  
  10.                 String value = obj.getString("name");  
  11.                 Log.e("value:",value);  
  12.             }  
  13.         } catch (JSONException e) {  
  14.             // TODO Auto-generated catch block  
  15.             e.printStackTrace();  
  16.         }  
  17.           
  18.     }</span>  

json demo 下载地址:

http://download.csdn.net/detail/q610098308/9220179

0 0
原创粉丝点击