JackJSON的用法

简介: 网上大多数都是FastJSON的用法,很少有JackJSON的用法。我总结了几个自己经常用到的,供大家参考。

1.Java对象转化成JSON

String getJSON(Object obj){ 
    ObjectMapper objectMapper = new ObjectMapper();  //创建一个ObjectMapper对象
      return objectMapper.writeValueAsString(obj);  // 直接调用writeValueAsString 方法即可进行转换
    }catch (Exception e) {
      throw new RuntimeException(e);
    }
  }

2.JSON数据转换为Java对象


2.1 简单的java对象

Object getObject(String str,Class<?> clazz){
    ObjectMapper objectMapper = new ObjectMapper();
    try{
      return objectMapper.readValue(str, clazz); //调用readValue方法即可
    }catch (Exception e) {
      throw new RuntimeException(e);
    }
  }

2.2 复杂的java对象


复杂的java对象可能包括集合什么的,这个稍微麻烦一点

// 1.创建一个ObjectMapper对象
ObjectMapper objectMapper = new ObjectMapper();
//2.获得一个类型工厂,然后调用constructCollectionType方法,此时需要传入两个参数,第一个是List集合对象,另一个是实际的Java对象
CollectionType listType = objectMapper.getTypeFactory().constructCollectionType(ArrayList.class, NameValuePairRequest.class);
// 3.调用readValue方法,将要转换的JSON对象和CollectionType作为参数输入进去。
List<NameValuePairRequest>  nameValuePairRequests= objectMapper.readValue(form_body, listType);

json转map

    JavaType javaType = mapper.getTypeFactory().constructParametricType(Map.class, Object.class, String.class);
      Map<String,Object> value = mapper.readValue(param, javaType);

以上就是我常用到的转化方法,后期遇到复杂的会继续补充

相关文章
|
7月前
|
安全 API Windows
CreateMutex用法
CreateMutex用法
|
7月前
|
安全 Java 容器
FilterChain用法总结
FilterChain用法总结
|
8月前
|
自然语言处理 数据可视化 数据挖掘
BERTopic(一)基本用法
bertopic基本用法
188 0
|
8月前
|
数据安全/隐私保护
关于DotNetZip的用法
关于DotNetZip的用法
81 0
|
8月前
|
机器学习/深度学习 数据可视化 API
Gymnasium的基本用法
Gymnasium的基本用法
383 0
propertyIsEnumerable的用法
propertyIsEnumerable用法 语法和功能 obj.propertyIsEnumerable(prop): 判断prop属性是否是obj的可枚举属性
186 0
iTween的用法总结
Unity3D插件-iTween的基本用法 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) 1 ...
1688 0
iTween的基本用法
Unity3D插件-iTween的基本用法 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例...
1898 0
EasyTouch基本用法
EasyTouch基本用法 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
1525 0