json知识(1)

来源:互联网 发布:网络舆情监测员 编辑:程序博客网 时间:2024/05/29 19:13

工具类:

import java.io.IOException;import net.sf.json.JSONException;import net.sf.json.JSONObject;import com.fasterxml.jackson.core.JsonParser.Feature;import com.fasterxml.jackson.databind.ObjectMapper;public class Util {static ObjectMapper objectMapper = new ObjectMapper();/** * 允许特殊控制符 * @methodName: ALLOW_UNQUOTED_CONTROL_CHARS * @param ALLOW_UNQUOTED_CONTROL_CHARS * @returnType: void * @author: m */public static void ALLOW_UNQUOTED_CONTROL_CHARS(boolean ALLOW_UNQUOTED_CONTROL_CHARS){if(objectMapper!=null){objectMapper.configure(Feature.ALLOW_UNQUOTED_CONTROL_CHARS, ALLOW_UNQUOTED_CONTROL_CHARS);}}/**     * 将json转化为实体POJO     * @param jsonStr     * @param obj     * @return     */public static<T> Object JSONToObj(String jsonStr,Class<T> obj) {        T t = null;        try {            t = objectMapper.readValue(jsonStr,obj);        } catch (Exception e) {            e.printStackTrace();        }        return t;    }/**     * 将实体POJO转化为JSON     * @param obj     * @return     * @throws JSONException     * @throws IOException     */    public static<T> JSONObject objectToJson(T obj) throws JSONException, IOException {        String jsonStr = "";        try {             jsonStr =  objectMapper.writeValueAsString(obj);        } catch (IOException e) {            throw e;        }        return JSONObject.fromObject(jsonStr);    }}


测试类

import net.sf.json.JSONObject;public class test {public static void main(String[] args) throws Exception{String str = "{\"a\"}";String jsonStr = "{name:\"zhu\",age:10}";System.out.println(jsonStr);System.out.println(jsonStr.length());//json字符串转换成json对象JSONObject json = JSONObject.fromObject(jsonStr);System.out.println(json);System.out.println(json.names());System.out.println(json.toString());//json字符串转换成实体类//Student std1 = (Student) Util.JSONToObj(jsonStr, Student.class); 这种情况报错,因为name和age都需要用“”Student std = (Student) Util.JSONToObj(json.toString(), Student.class);System.out.println(std.getName()+"-"+std.getAge());//实体类转换成json对象JSONObject json2 = Util.objectToJson(std);System.out.println(json2);}}



0 0
原创粉丝点击