JSON在java中的用法

commons-httpclient-3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk13.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar

commons-beanutils.jar

 

一,Map转换成JSON格式

 

将Map,String类型转换成Json格式,主要调用JSONObject.fromObject(otherObject)方法,该方法返回JSONObject类型。

 

利用Json的类库可以直接将Map直接转换成Json的数据格式,用法如下:

 

Java代码 复制代码 收藏代码
  1. Map map = new HashMap();    
  2. map.put("name","ChenXiao");   
  3. map.put("sex","male");    
  4. map.put("age",23);   
  5. String mapStr = map.toString();    
  6. System.out.println(mapStr);  
Map map = new HashMap(); map.put("name","ChenXiao");map.put("sex","male"); map.put("age",23);String mapStr = map.toString(); System.out.println(mapStr);

 

 此时的输出结果为:

{sex=male, age=23, name=ChenXiao}

 

然后将此Map转换成Json,代码如下:

//将Map转换成Json格式

Java代码 复制代码 收藏代码
  1. JSONObject mapJson = JSONObject.fromObject(map);  System.out.println("Json:"+mapJson);    
  2. System.out.println("JsonStr:"+mapJson.toString());  
JSONObject mapJson = JSONObject.fromObject(map);  System.out.println("Json:"+mapJson); System.out.println("JsonStr:"+mapJson.toString());

  

输出结果为:

Json:{"sex":"male","age":23,"name":"ChenXiao"}
JsonStr:{"sex":"male","age":23,"name":"ChenXiao"}

 

二,从Json中提取有用字段

从Json中提取字段,主要使用如下的方式:

String name = jsonObject.getString("name")

 

Java代码 复制代码 收藏代码
  1. String name = mapJson.getString("name");   
  2. System.out.println(name);   
  3. Integer age = Integer.parseInt(mapJson.getString("age"));   
  4. System.out.println(age);  
String name = mapJson.getString("name");System.out.println(name);Integer age = Integer.parseInt(mapJson.getString("age"));System.out.println(age);

 

在Json中key-value中的value可以是其他非String类型,比如Integer等等,使用jsonObject.getString()得到的是String类型,然后按照自己的需求改变数据类型。

 

三,将普通String转换成Json

String类型只要按照Json的数据格式组织String的内容,就可以有效的转换成Json。

Json的一般数据格式如下:

{}作为Json的开始和结尾,一个属性值可以分为key和value,key一般为String类型,而value可以是很多类型,key和value之间用“:”分割,每个属性之间使用“,”作为分割;另外,value还可以是其他Json形式String的嵌套。

 

{"school":"BUPT"}

{"head":{"sex":"male","age":23,"name":"ChenXiao"},"end":{"school":"BUPT"}}

 

Java代码 复制代码 收藏代码
  1. String str01 = new String("{\"school\":\"BUPT\"}");   
  2. JSONObject json01 = JSONObject.fromObject(str01);   
  3. System.out.println(json01.toString());   
  4. System.out.println(json01.getString("school"));   
  5.            
  6. String merger01 = "{\"head\":"+mapJson.toString()+",\"end\":"+json01.toString()+"}";   
  7. JSONObject mergerJson01 = JSONObject.fromObject(merger01);   
  8. System.out.println(mergerJson01.toString());   
  9. String tmp01 = mergerJson01.getString("head");   
  10. JSONObject headJson = JSONObject.fromObject(tmp01);   
  11. System.out.println(headJson.getString("name")); 

你可能感兴趣的:(JSON在java中的用法)