fastjson 常用api

一、json字符串的数据解析

1.json字符串 ---> JSONObject或者JSONArray【好处就是当你没有bean的model类时,可以直接获取相关数据】

    Object parse(String text)【这是下面2个方法的合集,是大招!】

     JSONObject parseObject(String text)

      JSONArray parseArray(String text)


2.json字符串 ---> bean对象【好处是如果你有model,你可以解析为java对象然后继续操作】

T parseObject(String text, Class clazz)          //一个bean对象的解析生成

List parseArray(String text, Class clazz)          //多个bean对象的解析生成


二、java对象的json格式化

1.bean对象转json字符串

String toJSONString(Object object)

String toJSONString(Object object, boolean prettyFormat)


2.java对象转换为JSONObject或者JSONArray

【是大招,单个bean对象能转,list集合也能转】,有了这一步,再来个toString就ok了。

Object toJSON(Object javaObject);


3.fastJSON 直接formmate date

实例:JSON.toJSONString(resultMap,SerializerFeature.WriteDateUseDateFormat);


代码实例:

@Test

public void testname() throws Exception {

    Map map = new HashMap<>();ArrayListlist = new ArrayList<>();

    list.add("呵呵");

    list.add("哥哥");

    map.put("id", "681274129");

    map.put("cats",list);

   //将字符串转成JSONObject,不可以直接toString来转成josn字符串

   JSONObject jsonMap = JSON.parseObject(JSON.toJSONString(map));

    System.out.println(jsonMap.get("id"));

   //拿出jsonArray 并遍历

   JSONArray cats = jsonMap.getJSONArray("cats");

   /*for (Object o : cats) {

   System.out.println((String)o);

   }*/

   for (int i = 0; i < cats.size(); i++) {

   String o = (String) cats.get(i);

   System.out.println(o);

  }

   Object json = JSON.toJSON(map.toString());

   //不可以直接toString来转成josn字符串,虽然打印出来的字符串都是一样的

   //System.out.println(map.toString());

   // 这一段代码会报错JSON.parseObject(map.toString());

   System.out.println(json);

}

你可能感兴趣的:(fastjson 常用api)