net.sf.json与fastjson两种jar包的使用

Posted 小虾米的java梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了net.sf.json与fastjson两种jar包的使用相关的知识,希望对你有一定的参考价值。

首先说清楚:这两种方式是进行json解析的两种不同的方式而已,哪一种都可以。

一、引入net.sf.json包

首先用net.sf.json包,当然你要导入很多包来支持commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-2.1-jdk15.jar,自己百度下载吧

然后使用方法:

json串:{\"code\":0,\"msg\":\"成功\",\"data\":{\"template\":{\"templateId\":23,\"code\":\"redmine\",\"type\":0,\"status\":0,\"nodeName\":\"会员期限即将到期\",\"detail\":\"1个月\",\"content\":\"您的会员...\"}}}

调用:

Map<String,String> dto = new HashMap<String,String>();
dto.put("code", app.getCode());

xxService.getxx(JSONObject.fromObject(dto).toString());

解析:

JSONObject jsonObject = JSONObject.fromObject(msgContent);  
JSONObject o2=JSONObject.fromObject(jsonObject.get("data")); 
JSONObject o3=JSONObject.fromObject(o2.get("template"));

(String)o3.get("content")

好了,你就获得到最底层的内容了

 

如果是json串中使用了[]的这种就需要用到JSONArray了,这篇博文写的不错http://blog.csdn.net/qq_22792489/article/details/51111890

有的时候你只是再原来的基础上改代码,但是别人用的是com.alibaba.fastjson包,没办法,只能兼容了呗,那就用com.alibaba.fastjson吧,只是方法名不一样,功能实现就行

 

二、引入com.alibaba.fastjson包

调用:

Map<String,String> dto = new HashMap<String,String>();
        dto.put("code", "haha");
        System.out.println(JSONObject.toJSON(dto).toString());

解析:

JSONObject jsonObject = JSONObject.parseObject(result);         
JSONObject o2=JSONObject.parseObject((String) jsonObject.getString("data")); 
JSONObject o3=JSONObject.parseObject((String) o2.getString("template")); 
System.out.println((String) jsonObject.getString("data"));
System.out.println((String) o2.getString("template"));
System.out.println((String) o3.getString("content"));

 最底层的模板内容也有了,大功告成!











以上是关于net.sf.json与fastjson两种jar包的使用的主要内容,如果未能解决你的问题,请参考以下文章

net.sf.json.JSONOBJECT.fromObject 与 com.alibaba.fastjson.JSONObject.parseObject

Java - net.sf.json 之 putaccumulateelement 实践与疑问

使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持

java中使用net.sf.json对json进行解析

maven 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.1

关于maven中下载导入json JAR包的问题 Missing artifact net.sf.json-lib:json-lib:jar:2.2.3:compile