首先说清楚:这两种方式是进行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包的使用的更多相关文章

  1. spring boot @ResponseBody转换JSON 时 Date 类型处理方法,Jackson和FastJson两种方式,springboot 2.0.9配置fastjson不生效官方解决办法

    spring boot @ResponseBody转换JSON 时 Date 类型处理方法 ,这里一共有两种不同解析方式(Jackson和FastJson两种方式,springboot我用的1.x的版 ...

  2. Java构造和解析Json数据的两种方法详解一——json-lib

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多JAVA下的jso ...

  3. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

  4. Java构造和解析Json数据的两种方法详解二——org.json

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...

  5. @ResponseBody 返回json字符串的核心类是org.springframework.http.converter.json.MappingJacksonHttpMessageConverter,它使用了Jackson 这个开源的第三方类库。主要是以下两个jar包:jackson-core-asl-1.6.4.jar;jackson-mapper-asl-1.6.4.jar

    @ResponseBody 返回json字符串的核心类是org.springframework.http.converter.json.MappingJacksonHttpMessageConvert ...

  6. 【代码笔记】iOS-向服务器传JSON数据的两种方式

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...

  7. Json传递数据两种方式(json大全)

    1.Json传递数据两种方式(json大全)----------------------------字符串 var list1 = ["number","name&quo ...

  8. spring接收json字符串的两种方式

    一.前言 前几天遇到一个问题,前端H5调用我的springboot一个接口(post方式,@RequestParameter接收参数),传入的参数接收不到.自己测试接口时使用postman的form- ...

  9. 不同Json工具对空串和NULL的序列号处理:net.sf.json 和 fastjson

    目录 1.测试代码 2.测试结果: 3.总结: 4.注:Maven中引入net.sf.json的方式 net.sf.json 和 fastjson 对于空串和NULL的处理: 1.测试代码 packa ...

随机推荐

  1. 015---Django的forms组件

    Django form表单   Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用 ...

  2. 【Leetcode】647. Palindromic Substrings

    Description Given a string, your task is to count how many palindromic substrings in this string. Th ...

  3. 39-Role以及Claims授权

    asp.net core多鼓励使用claims授权 1-使用role授权 在类或方法上贴上Roles,这样就知道有user的角色才可以访问 [Authorize(Roles="user&qu ...

  4. [KAFKA]kafka常用操作

    -- kafka路径示例 /opt/cloudera/parcels/KAFKA/bin-- kafka启动./kafka-server-start.sh -daemon ../config/serv ...

  5. 3106: [cqoi2013]棋盘游戏

    3106: [cqoi2013]棋盘游戏 链接 分析: 极大极小搜索 + 记忆化. 代码 #include<bits/stdc++.h> using namespace std; type ...

  6. jpa Specification复杂查询

    public List<Receipts> test(List<String> costIds){ Specification<Receipts> specific ...

  7. stm32--FatFs调试过程(SPIFlash)

    移植方法参见我的另一篇博客:<stm32--FatFs移植(SPIFlash)>. 本文仅记录在初次移植完成后,遇到的问题,和解决的过程. 调试记录: 问题1:f_open返回3,即磁盘没 ...

  8. 关于ArrayList add()方法 中的引用问题

    ArrayList的add方法每次添加一个对象时,添加 的是一个对象的引用,比如进行循环操作10次  lists.add(a) 每次 a会改变 ,这时候你会发现你在lists里添加了10个相同的对象a ...

  9. python 基础篇 13 迭代器与生成器

    13. 前⽅⾼能-迭代器和⽣成器本节主要内容:1. 迭代器2. ⽣成器 ⼀. 迭代器我们之前⼀直在⽤可迭代对象进⾏迭代操作. 那么到底什么是可迭代对象. 本⼩节主要讨论可迭代对象. ⾸先我们先回顾⼀下 ...

  10. spring mvc:实现给Controller函数传入list<pojo>参数

    [1]前端js调用示例: ...insertStatisData?statisDatas=[{'cid':'2','devId':'9003','deviceName':'测试名','endTime' ...