Java 实现 对象和转字符串之间的互转 (json格式)
添加依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.</version>
</dependency> <dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>converter-gson</artifactId>
<version>2.5.</version>
</dependency>
下面直接上代码:
实体类: 注意实体类想要序列化一定要实现 Serializable 接口 否则不能通过
package com.nf147.sim.entity;
import java.io.Serializable;
public class News implements Serializable {
private int id;
private String title;
private String body;
public News() {
}
public News(int id, String title, String body) {
this.id = id;
this.title = title;
this.body = body;
}
public News(String title, String body) {
this.title = title;
this.body = body;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
@Override
public String toString() {
return "News{" +
"id=" + id +
", title='" + title + '\'' +
", body='" + body + '\'' +
'}';
}
}
public void toJosn() throws Exception {
ObjectMapper objectMapper = new ObjectMapper(); //json
// java 对象 -> json 字符串
// json 字符串 -> java 对象
News news = new News("kudankuaidaole", "放假通知");
String s = objectMapper.writeValueAsString(news);
System.out.println("对象转字符串:"+s);
System.out.println("=============");
List<News> newsList = Arrays.asList(
new News("yuandan", "放假"),
new News("春节", "快来了")
);
//第一种方式
String newslistStr = objectMapper.writeValueAsString(newsList);
News[] newsArray = objectMapper.readValue(newslistStr, News[].class);
List<News> newsList1 = objectMapper.readValue(newslistStr, new TypeReference<List<News>>() {
});
System.out.println();
System.out.println("字符串转对象:"+newsList1);
//第二种方式
List<News> newsList2 = new Gson().fromJson(newslistStr, new TypeToken<List<News>>() {}.getType()); //使用gson
System.out.println("字符串转对象:"+newsList2);
}
结果:

Java 实现 对象和转字符串之间的互转 (json格式)的更多相关文章
- java string截取两个字符串之间的值
java string截取两个字符串之间的值 import java.util.regex.Matcher; import java.util.regex.Pattern; public class ...
- java 中基本类型与字符串之间的互相转换
1. 由 基本数据型态转换成 String String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 也就是 String.valueOf() 这个参数多载的方法 有下 ...
- iOS:JSON格式字符串转字典,字典转JSON格式字符串
在iOS开发中,和服务器交互中,经常用到字典和JSON格式字符串相互转换. 代码如下: 1.JSON格式字符串转字典 + (NSDictionary *)dictionaryWithJsonStrin ...
- java io流 图片和字符串之间的转换
package com.yundongsports.arena.controller.basketballsite;import com.yundongsports.arena.ResponseVo. ...
- java实现图片与base64字符串之间的转换
package cn.com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...
- js将timestamp对象与时间字符串之间的转换
1. 时间戳转日期字符串 var timestamp = timestampObj.time;获取时间戳的毫秒数 var d = new Date(timestamp); //根据时间戳生成的时间对象 ...
- java中字符数组与字符串之间互相转换的方法
public static void main(String[] args) { //1.字符数组 转换成 字符串 //(1)直接在构造String时转换 char[] array = new cha ...
- 字符串数组与字符串之间的互转(join/split)
1.Java 1-1.字符串数组=>字符串:StringUtils: join(Object[] array, String separator) 例: Java代码 收藏代码 import o ...
- 可序列化对象和byte[]数组之间的互转
/// <summary> /// 将可序列化对象转成Byte数组 /// </summary> /// <param name="obj">对 ...
随机推荐
- [Git] 018 冲突在所难免,需要巧妙化解
0. 回顾 [Git] 005 初识 Git 与 GitHub 之分支 中"4.2 情形二"的 9 提及了"解决冲突" 当时没有展开,这回详谈 我这回反其道而行 ...
- 关于golang的label
1 label所在的代码段在没有跳转的时候按照所在的位置按顺序执行 2 break label和continue label可以一次性从多重循环中跳出 3 goto label的用法和c/c++中的一 ...
- 记一次有趣的JsonFormat不生效问题
dto中使用了JsonFormat注解,如图 然后再序列化时 objectMapper.writeValueAsString(printReceBillVO) 始终值是一个Long,最后发现是包引用错 ...
- JS跨域--window.name
JS跨域--window.name:https://www.jianshu.com/p/43ff69d076e3
- @Transactional实现原理
Transactional是spring中定义的事务注解,在方法或类上加该注解开启事务.主要是通过反射获取bean的注解信息,利用AOP对编程式事务进行封装实现.AOP对事务的封装可以看我的这篇文章的 ...
- C#设计模式:解释器模式(Interpreter Pattern)
一,C#设计模式:解释器模式(Interpreter Pattern) 1,解释器模式的应用场合是Interpreter模式应用中的难点,只有满足“业务规则频繁变化,且类似的模式不断重复出现,并且容易 ...
- elementUI 等 UI框架中,@change方法传递参数
有些业务中,在使用 @change 回调的时候需要动态获取当前循环下的特定值,但是@change方法一旦传递参数就会覆盖原本的数据,对此,有两种方法解决: // 这种方法据说会改变 this 指向 ...
- 同步锁 synchronized
package ba; public class Tongbu implements Runnable{ int i=100; public void run(){ while(true){ sell ...
- [七月挑选]使用hexo建立主题,并发布到github
title: 使用hexo建立主题,并发布到github 根据hexo官网的概述和hexo官网的建站,搭建最开始的hexo博客. 1.环境预先安装好node.js和git 2.npm安装hexo: $ ...
- Cockpit- Linux 服务器管理接口
Cockpit- Linux 服务器管理接口 功能 它包含 systemd 服务管理器. 有一个用于故障排除和日志分析的 Journal 日志查看器. 包括 LVM 在内的存储配置比以前任何时候都要简 ...