美文网首页
FastJson学习整理

FastJson学习整理

作者: 达文西_阿泽 | 来源:发表于2019-05-17 10:20 被阅读0次

    FastJson对于json格式字符串的解析主要用到了下面三个类:

    1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换

    2.JSONObject:fastJson提供的json对象

    3.JSONArray:fastJson提供json数组对象


    1、字符串与json互转;

      1.字符串转json

    JsonObject jobj=JSON.parseObject(String); //jsonobject

    JsonArray jarra=JSON.parseArray(String); //jsonarray

      2.json/jsonarray转字符串

    方式一:jsonobj.toJSONString(); //直接使用json自身对象转

    方式二:JSON.toJSONString(jsonobj); //使用JSON解析转

    !!注意字符串必须是json格式的字符串,不是简单的对象tostring就可以的。否则会报语法错误。


    2、list与jsonarray互转;

      1.list转jsonarray

    a、JSONArray  jsary=(JSONArray)JSON.toJSON(list<?>);//强转形式

    b、JSONArray ja = JSON.parseArray(JSON.toJSONString(itemList));//先转json字符串再转json

      2)jsonarray转list

    a、List<String> listPerson =JSON.parseArray(jsonString, String.class);

    b、 ArrayList<String> students = JSONArray.parseObject(jsonArray.toJSONString(),

                new TypeReference<ArrayList<String>>() {});


    3、map与JsonObject互转

      1)map转Json

    a、JsonObject json=JSON.parseObject(JSON.toJsonString(itemMap)); //先转json字符串再转json

    b、JsonObject  json=(JsonObject)JSON.toJSON(itemMap); //强转形式

      2)json转map

    a、Map<String, Object> maps= JSON.parseObject(str,Map.class);

    b、Map<String, Object> maps= JSON.parseObject(jsonString);


    4、javabean与jsonobject、jsonarray互转

    JavaBean: Person person = JSON.parseObject(jsonString, Person.class);

    List<JavaBean>:  List<Person> listPerson =JSON.parseArray(jsonString, Person.class);

    List<String>:  List<String> listString = JSON.parseArray(jsonString, String.class);

    List<Map<String,Object>>:  List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});

    详细可参考该文档:https://segmentfault.com/a/1190000011212806

    相关文章

      网友评论

          本文标题:FastJson学习整理

          本文链接:https://www.haomeiwen.com/subject/xrknaqtx.html