将 对象序列化与反序化 (json格式)
实体类
package com.nf.redisDemo1.entity;
public class News {
private long id;
private String title;
private String body;
public News() {
}
public News(String title, String body) {
this.title = title;
this.body = body;
}
public long getId() {
return id;
}
public void setId(long 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 + '\'' +
'}';
}
}
Gson
package com.nf.blog; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.nf.redisDemo1.entity.News; import java.util.ArrayList;
import java.util.List; public class Main { public static void main(String[] args) {
News news = new News("2019快来了?你准备怎么过年呢?", "身为一个热爱IT行业的程序员,当然是写程序搞事情了。");
Gson gson = new Gson(); //单个对象的序列化及反序列化 //序列化
String newsStr = gson.toJson(news);
System.out.println("JSON字符串:");
System.out.println(newsStr); //反序列化
News news_new = gson.fromJson(newsStr, News.class);
System.out.println("实体对象:");
System.out.println(news_new); //List集合的序列化和反序列化
List<News> newsList = new ArrayList<>();
newsList.add(news);
newsList.add(new News("你想做的是什么呢?","多写代码,知道闭眼写一个项目为止。")); //序列化
String newListStr = gson.toJson(newsList);
System.out.println("集合序列化后:");
System.out.println(newListStr); //反序列化
List<News> newsList_new = gson.fromJson(newListStr, new TypeToken<List<News>>() {}.getType());
System.out.println("JSON字符串反序列化:");
System.out.println(newsList_new); } }
jackson
package com.nf.blog; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.nf.redisDemo1.entity.News; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; public class Main { public static void main(String[] args) throws IOException {
News news = new News("2019快来了?你准备怎么过年呢?", "身为一个热爱IT行业的程序员,当然是写程序搞事情了。");
ObjectMapper objectMapper = new ObjectMapper(); // jackson 单个对象的序列化及反序列化
//序列化
String newsStr = objectMapper.writeValueAsString(news);
System.out.println("JSON字符串:");
System.out.println(newsStr); //反序列化
News news_new = objectMapper.readValue(newsStr,News.class);
System.out.println("实体对象:");
System.out.println(news_new); //List集合的序列化和反序列化
List<News> newsList = new ArrayList<>();
newsList.add(news);
newsList.add(new News("你想做的是什么呢?","多写代码,知道闭眼写一个项目为止。")); //序列化
String newListStr = objectMapper.writeValueAsString(newsList);
System.out.println("集合序列化后:");
System.out.println(newListStr); //反序列化
List<News> newsList_new = objectMapper.readValue(newListStr, new TypeReference<List<News>>(){});
System.out.println("JSON字符串反序列化成List集合:");
System.out.println(newsList_new); News[] newsArr = objectMapper.readValue(newListStr,News[].class);
System.out.println("JSON字符串反序列化成数组:");
System.out.println(newsArr); } }
将 对象序列化与反序化 (json格式)的更多相关文章
- 简单的使用Gson (序列化 和 反序化)
下载地址:http://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.5 在项目导入jar包后 package com.web; i ...
- C#反序化json字符串,不用区分大小写
最近在做第三方对接的项目,接口返回的数据是json格式,并且每个字段都是小写的,而我们程序类中的属性是要求大写的:刚开始想到的是用JavaScriptSerializer,但是这个并不满足需求 就换了 ...
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
一,原理 1.1,解析1 将字符串解析为JavaScript代码,比如:var a = "alert('a');";这里的a就只是一个字符串而已,输出的话也是alert(a);这句 ...
- springMVC form表单提交多个对象集合--使用ajax提交--前台json格式数据封装方法
(function ($) { $.fn.serializeJson = function () { var jsonData1 = {}; var serializeArray = this.ser ...
- data对象转化成后端需要的json格式
data=JSON.stringify(json_data); $.ajax({type:'post',url:url+'warehouse/create_alliance_out/',data:da ...
- .net中对象序列化技术浅谈
.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储 ...
- JavaScript中,JSON格式的字符串与JSON格式的对象相互转化
前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...
- IO编程之对象序列化
对象序列化的目标是将对象保存在磁盘中或者允许在网络中直接传输对象.对象序列化机制循序把内存中的java对象转换成平台无关的二进制流,从而允许把这种二进制流持久的保存在磁盘上,通过网络将这种二进制流传输 ...
- 把普通对象转换成json格式的对象
1.什么叫做JSON?JSON只是一种数据格式(它不是一种新的数据类型) var obj = {name: "中国", age: 5000};//->普通格式的对象 var ...
随机推荐
- [loj#539][LibreOJ NOIP Round #1]旅游路线_倍增_dp
「LibreOJ NOIP Round #1」旅游路线 题目链接:https://loj.ac/problem/539 题解: 这个题就很神奇 首先大力$dp$很好想,因为可以把一维放到状态里以取消后 ...
- [Comet OJ - Contest #7 D][52D 2417]机器学习题_斜率优化dp
机器学习题 题目大意: 数据范围: 题解: 学长说是决策单调性? 直接斜率优化就好了嘛 首先发现的是,$A$和$B$的值必定是某两个$x$值. 那么我们就把,$y$的正负分成两个序列,$val1_i$ ...
- [转帖]nginx配置ssl证书实现https访问
https://www.cnblogs.com/tianhei/p/7726505.html 今天就是如此处理的 感觉挺不错的. 一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址 ...
- [转帖]12条用于Linux的MySQL/MariaDB安全最佳实践
12条用于Linux的MySQL/MariaDB安全最佳实践 2018-01-04 11:05:56作者:凉凉_,soaring稿源:开源中国社区 https://ywnz.com/linuxysjk ...
- Linux系列(3):入门之正确的关机方法
前言:在Windows(非NT主机系统)系统中,由于是单人假多任务的情况,所以即使你计算机关机,对于别人也没有丝毫影响!不过,在Linux下面,由于每个程序(或者服务)都是在在背景下执行,因此,在看不 ...
- Spring中 如果该Service有多个实现类,它怎么知道该注入哪个ServiceImpl类?
方法一:Controller中注入service的时候使用@Autowired自动注入,@Qualifier("beanId") 来指定注入哪一个. 方法二:Controller中 ...
- TreeMap——实现comparable接口并重写CompareTo方法
public class TreeMapTest { public static void main(String[] args) { Map<Student,Integer> stude ...
- Ubuntu系统开机后不能正常使用——问题解决记录
1.开机后桌面内容没了,搜狗输入法不能使用了,终端不能打开了 问题原因:上次关机前为了解决解压文件中文乱码问题,在/etc/profile末尾加了如下两行:(但事实上如下两行根本不能解决中文乱码问题) ...
- 序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密
js中数组不能传递到后台,需进行json序列化: var data = new Array(); data.push({para1:name,para2:answer}); string data = ...
- JavaScript例子1-给网页中所有<p>元素添加onclick事件
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...