添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
将对象转成你想要的对象,除了JSONObject.parseObject外,可以用ObjectMapper

1、添加jackson库

如果是maven工程,需要在pom.xml中添加jackson的依赖:

  1. <dependency>

  2. <groupId>com.fasterxml.jackson.core</groupId>

  3. <artifactId>jackson-databind</artifactId>

  4. <version>2.8.3</version>

  5. </dependency>

用到jackson的类中需要引入:

  1. import com.fasterxml.jackson.databind.ObjectMapper;

  2. import com.fasterxml.jackson.databind.DeserializationFeature;

2、json转object

比如本例中是YourJson(json类型字符串)需要转化为YourClass类(自定义的类)的实例:

  1. ObjectMapper objectMapper = new ObjectMapper();

  2. YourClass class = objectMapper.readValue(YourJson, YourClass.class);

如果json中有新增的字段并且是YourClass类中不存在的,则会转换错误

1)需要加上如下语句:

这种方法的好处是不用改变要转化的类,即本例的YourClass。(如果YourClass不是你维护的,或者不可修改的,可以用这个方法)

  1. ObjectMapper objectMapper = new ObjectMapper();

  2. objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

  3. YourClass class = objectMapper.readValue(YourJson.toString(), YourClass.class);

2)jackson库还提供了注解方法,用在class级别上:

  1. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

  2. @JsonIgnoreProperties(ignoreUnknown = true)

  3. public class YourClass {

  4. ...

  5. }

3、object转json

本例中是YourClass对象需要转化为json:

  1. import com.fasterxml.jackson.databind.ObjectMapper;

  2. ObjectMapper objectMapper = new ObjectMapper();

  3. YourClass yourClass = new YourClass();

  4. String json = objectMapper.writeValueAsString(yourClass);

转自: https://blog.csdn.net/u013174217/article/details/53924436

将对象转成你想要的对象,除了JSONObject.parseObject外,可以用ObjectMapper1、添加jackson库如果是maven工程,需要在pom.xml中添加jackson的依赖: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.fasterxml.jackson.core&amp;lt;/groupId&amp;gt; &amp;lt;...
import com.fasterxml.jackson.core. Json ProcessingException; import com.fasterxml.jackson.databind. ObjectMapper ; import com.jt.pojo.Item; import com.jt.pojo.ItemDesc; import com.sun.corba.se.spi.ior.IORTemplate; * 该工具类,主要的功能实现 对象 JSON 串的互相转化. * 1. 对象 转化为J
1. 前言 在实际开发过程中,会经常接收 Json 字符串并转化为相应 对象 ,而这个转化过程中若报错,无非提示,没有set方法,或者没有get方法,或者静态内部类没有默认构造函数,静态内部类没有带全部参数构造函数,无法转化多了某某field属性等等。 因此,在大多数开发的过程中,我们自然会在实体类 对象 上,一股脑加上 @Data,@NoArgsConstructor,@AllArgsConstru
有些时候,我们要处理的 json ,是不可以直接 转换 为javaBean处理滴,比如一些中文字段名,总不能在代码 对象 里给属性都定义成中文,,,,那怎么搞,来下边这些东西帮你搞。我遇到的场景就是要把,hbase中存储的 json 文本拿出来, 转换 存至数据库表(mysql)中 而hbase中存储的 json 文本都是中英混合的字段名,so… Json Node 的 方法可以获取所有的 key值 根据key获取值,value可能为子节点 Json Node 或 String 如果是一个 Json Node数组,处理使用 Json No
参考博文: ObjectMapper 的一些坑 1. ObjectMapper 类的介绍: ObjectMapper 类是Jackson库的主要类。它提供一些功能将 转换 成Java 对象 匹配 JSON 结构,反之亦然。它使用 Json Parser和 Json Generator的实例实现 JSON 实际的读/写。 1.1构造函数: 1.2常用的序列化设置属性: private static ObjectMapper map............
ObjectMapper 的使用 这个类是jackson提供的,主要是用来把 对象 转换 成为一个 json 字符串返回到前端,现在几乎所有数据交换都是以 json 来传输的。它使用 Json Parser和 Json Generator的实例实现 JSON 实际的读/写。当然这只是其中的一种 后续我还会将介绍比较火的Gson。 首先在pom.xml文件中,加入依赖: <dependency>
Java系列之: ObjectMapper 实现 对象 转化为 Json 、集合转化为 Json Json 转化为 对象 Json 转化为 Json Node、 Json Node转化为 Json 字符串一、创建类Dataset二、生成 对象 插入数据 一、创建类Dataset import lombok.Data; @Data public class Dataset { * 数据表全称 private String tableName; * 数据库名称
我这段代码怎么写才能对: ObjectMapper mapper = new ObjectMapper (); Map<String, Object> map = mapper.readValue(stream, Map.class); Properties props = new Properties(); for (Map.Entry<String, Object> entry : map.entrySet()) { props.put(entry.getKey(), entry.getValue().toString()); } return new PropertyResourceBundle(props);
```java public static PropertyResourceBundle convertToResourceBundle(InputStream stream) throws IOException { ObjectMapper mapper = new ObjectMapper (); Map<String, Object> map = mapper.readValue(stream, Map.class); Properties props = new Properties(); for (Map.Entry<String, Object> entry : map.entrySet()) { props.put(entry.getKey(), entry.getValue().toString()); return new PropertyResourceBundle(props); 这个方法接收一个 InputStream 参数,读取其中的 JSON 数据,并将其 转换 为 PropertyResourceBundle 对象 。在方法内部,首先创建一个 ObjectMapper 对象 ,然后使用它的 readValue 方法将 InputStream 中的 JSON 数据 转换 为 Map 对象 。接着,将 Map 对象 中的每个键值对 转换 为 Properties 对象 中的键值对。最后,将 Properties 对象 转换 为 PropertyResourceBundle 对象 并返回。 你可以在其他地方调用这个方法,从而将任何一个 InputStream 中的 JSON 数据 转换 为 PropertyResourceBundle 对象