JSON数据解析的四种方式

JSONObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("key", "value");

String jsonString = "{\"key\":\"value\"}";
JSONObject jsonObject = new JSONObject(jsonString);
String object = jsonObject.get("key");
Jackson
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = objectMapper.writeValueAsString(object);

ObjectMapper objectMapper = new ObjectMapper();
String jsonString = "{\"key\":\"value\"}";
Map<String,Object> object= objectMapper.readValue(jsonString, Map.class);
GSON
Gson gson = new Gson();
String jsonString = gson.toJson(object);

String jsonString = "{\"key\":\"value\"}";
Gson gson = new Gson();
Object object= gson.fromJson(jsonString, XXXXXX.class);
FastJSON
Object jsonString = JSON.toJSON(object);

String jsonString = "{\"key\":\"value\"}";
JSON.parseObject(jsonString, XXXXXX.class);
总结
  • 四种JSON解析器在解析复杂的对象时都存在异常行为,功能方面是GSON最优,性能方面是FastJson最佳。
  • SpringMVC默认是使用Jackson来作为JSON处理器,通常使用StringHttpMessageConverter类来解析入参数据,如果想使用FastJson来解析Json入参数据,需要增加以下Bean配置:
    com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter

你可能感兴趣的:(Java技术进阶)