JSON 在JAVA中的用法

 

 

Json需要的类包

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的数据格式,用法如下:

 

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格式

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")

 

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"}}

 

String str01 = new String("{\"school\":\"BUPT\"}");
JSONObject json01 = JSONObject.fromObject(str01);
System.out.println(json01.toString());
System.out.println(json01.getString("school"));
		
String merger01 = "{\"head\":"+mapJson.toString()+",\"end\":"+json01.toString()+"}";
JSONObject mergerJson01 = JSONObject.fromObject(merger01);
System.out.println(mergerJson01.toString());
String tmp01 = mergerJson01.getString("head");
JSONObject headJson = JSONObject.fromObject(tmp01);
System.out.println(headJson.getString("name"));

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值