使用之前记得首先在pom.xml文件中导入fastjson的依赖(前提是maven项目)

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.30</version>
 </dependency>

1.Map,List,.对象.....转json类型的字符串(注意:这个方法是转化为json对象,不是json数组)

//JSONObject的toJSONString方法可以把任何类型转化为json类型的字符串

String jSONObject=JSONObject.toJSONString(object)

//就是这么方便又强大!

2.取值

取值其实很简单,但是有时候很难,你根本不知道对方当初怎么存的值.

   2.1  map集合里存对象,对象里存list集合      

//首先将String转为jsonObject才好操作
JSONObject fromObject = JSONObject.parseObject(jsonString);

//从json中分层取出里面key为list的值
JSONObject object = fromObject.getJSONObject("list");

//这一步就是取出list集合值的步骤
list = (List<ClaimReportDataCheckResponse>) object.get("list");

//如果你想取出list集合里的值可以进行便利,很简单,就不写了

  2.2  JSONObject转对象       

//这个方法的第一个参数是JSONObject对象 ,第二个参数是实体类的.class类

JSONObject.toJavaObject(json, clazz)

//这个是代码例子

ClaimReportData c =new ClaimReportData ();   //实体类

//这是把String类型json转为jsonobject

JSONObject responsePic = JSONObject.parseObject(jsonStringPic);  

JSONObject jsonObject = responsePic.getJSONObject("ClaimPicList");//前面获取到的JSONObject对象 

c= JSONObject.toJavaObject(jsonObject , ClaimReportData .class);



//当然还有很多其他的方法,大家可以多试验几种

3.最重要的一个作用,时间格式转化

     Date时间转jaon格式会发生格式变化,遇到你们就会纠结了,这里提前注意一下,也是我为什么要用fastjson

     处理格式错乱的方法:

//在你实体类每个date属性上都添加注解@jsonfield  时间格式根据自己需要设置

@JSONField(format="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;




//很简单,但是很高效, 我找了两天才找到的方法.

其实到这儿就差不多够用了 ,fastjson基本满足你所有的需要,

如果有我没涉及到的,大家可以直接自己根据JsonObject的提示看它的返回值和参数来满足自己的需求.

后期有其他发现我还会补充的,也希望大家多多留言,提出一些生僻,但实用的方法.