JSON(javaScript Object Notation) 比xml更节约流量,他是一个键一个值,而XML是两个键一个值。
通常来讲,若是手机电脑同时作为客户端,则数据传递多用XML,若只用手机(移动端)作为客户端,则数据传递用JSON
JSON不需要任何特殊的API或工具包,是Javascript的原生格式(理解为JavaScript的一种类型)
映射用“:” 名称:值
并列的数据之间用逗号“,” 分隔。名称1:值1,名称2:值2
映射的对象用大括号表示(“{}”) {名称1:值1,名称2:值2}
并列数据的集合(即数组)用方括号表示 ,方括号之间是逗号。
[
{名称1:值1,名称2:值2},
{名称1:值1,名称2:值2}
]
JSON支持的数据类型:string,number(int,float,double),object,array,true,false,null;
String,Int,long,double,boolean,object,JSONArray可以直接通过get方法得到
用org.json框架来解析json,导入json-org.jar
常见的API
JSONObject jb=new JSONObject(String source);
Object get(String key);
int getInt(String key);
XXX getXXX(String key);
JSONArray getJSONArray(String key);
JSONArray jsArray=new JSONArray(String source);
获得某个数据
@Test public void jsonTest() throws JSONException{ String jstring="{'name':'张三','age':'20'}"; JSONObject obj=new JSONObject(jstring); String name=obj.getString("name"); System.out.PRintln(name); } 遍历JSON数组,注意这里数组可以重复嵌套,一个数组也可以当作JSONObject@Test public void jsonTest() throws JSONException{ String jstring="[{'name':'张三','age':'20'},{'name':'张四','age':'21'}]"; JSONArray array=new JSONArray(jstring); for(int i=0;i<array.length();++i) { System.out.println("name:"+array.getJSONObject(i).getString("name")+" age:"+array.getJSONObject(i).getInt("age")); } }
新闻热点
疑难解答