java fastjson:Map与json以及JSONObject ,JSONObject与String互转

Posted 入门到放弃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java fastjson:Map与json以及JSONObject ,JSONObject与String互转相关的知识,希望对你有一定的参考价值。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject ;
import com.alibaba.fastjson.JSONPath;
import com.jayway.jsonpath.Configuration;
import com.jayway.jsonpath.JsonPath;


import java.util.Map;


public class fastTestJson {

    static void type(Object o){
        print(o.getClass().getName());
    }

    public static void main(String[] args) {
        String obj = "{"data":{"access_token":"5a7040ccf66bafd06acd39b6f61c19230eaba426755509646d6da23ddd9fb206","expires_second":36000},"rlt_code":"HH0000","rlt_msg":"成功"}";
        ;
        JSONObject JS = JSONObject.parseObject(obj);
        getJsonValue(JS);
        // test jsonArray
        String test = "{"success":true,"data":[{"building_id":"***","building_num":"**","room_name":"**","door_name":"**","electric":"**"}]}";
        JSONObject jsonObject = JSON.parseObject(test);
        print(jsonObject);
        JSONArray data = jsonObject.getJSONArray("data");
        print(data);
        JSONArray jsonArray = (JSONArray) JSONPath.read(jsonObject.toJSONString(), "$.data.room_name");
        Object o = jsonArray.get(0);
        type(o);
    }

    /** rewrite sys.out */
    static void print(Object text) {
        System.out.println(text);
    }

    /**  字符串string  转 map */
    static Map StringTOMap(String jsonStr){
        return  (Map)JSON.parse(jsonStr);
    }

    /** map 转 string  by fastjson   */
    static String mapToString (Map  map ){
        return JSON.toJSONString(map);
    }


    /** json 对象转map  */
    static Map JSONObjectToMap(JSONObject o){
        // jsonObject.toString()
        Map  params = JSON.parseObject(o.toString());
        return params;
    }
    /**  map 转 json对象 */
    static JSONObject mapToJson(Map map){

        JSONObject jsonObject  = new JSONObject(map);
        return  jsonObject;
    }

    /** 字符串 转都JSONObject对象*/
    static JSONObject jsonObject (String jsonstr){
        return JSONObject.parseObject(jsonstr);
    }
    /** json对象转字符串 str*/
    static  String  getStr(JSONObject jsonObject){
        return jsonObject.toJSONString();
    }

    static void   getJsonValue(JSONObject jsonObject){
        /** {"rlt_code":"HH0000","data":{"access_token":"5a7040ccf66bafd06acd39b6f61c19230eaba426755509646d6da23ddd9fb206",
         * "expires_second":36000},"rlt_msg":"成功"} */

        String data= jsonObject.getString("data");  //get String value of json object
        print(data);
        JSONObject js = JSONObject.parseObject(data);

    }

    static Object  jsonPathRead(String json){
        // to get  just one time read json object .
        Object document = Configuration.defaultConfiguration().jsonProvider().parse(json);
        String context1 = JsonPath.read(document,"$..name");
        JSONArray context2 =JsonPath.read(document,"$..data");
        return  context1;
    }


}

  

以上是关于java fastjson:Map与json以及JSONObject ,JSONObject与String互转的主要内容,如果未能解决你的问题,请参考以下文章

fastjson解析超长json串以及转成list,map等方法实例

转:json与map互转

Java中让fastJson识别Colloction和Map中的泛型类

map与json的转换

fastjson java类字符串jsonObject之前的转换

怎么把json字符串转换map