实体类

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格式)的更多相关文章

  1. 简单的使用Gson (序列化 和 反序化)

    下载地址:http://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.5 在项目导入jar包后 package com.web; i ...

  2. C#反序化json字符串,不用区分大小写

    最近在做第三方对接的项目,接口返回的数据是json格式,并且每个字段都是小写的,而我们程序类中的属性是要求大写的:刚开始想到的是用JavaScriptSerializer,但是这个并不满足需求 就换了 ...

  3. var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)

    一,原理 1.1,解析1 将字符串解析为JavaScript代码,比如:var a = "alert('a');";这里的a就只是一个字符串而已,输出的话也是alert(a);这句 ...

  4. springMVC form表单提交多个对象集合--使用ajax提交--前台json格式数据封装方法

    (function ($) { $.fn.serializeJson = function () { var jsonData1 = {}; var serializeArray = this.ser ...

  5. data对象转化成后端需要的json格式

    data=JSON.stringify(json_data); $.ajax({type:'post',url:url+'warehouse/create_alliance_out/',data:da ...

  6. .net中对象序列化技术浅谈

    .net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储 ...

  7. JavaScript中,JSON格式的字符串与JSON格式的对象相互转化

    前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...

  8. IO编程之对象序列化

    对象序列化的目标是将对象保存在磁盘中或者允许在网络中直接传输对象.对象序列化机制循序把内存中的java对象转换成平台无关的二进制流,从而允许把这种二进制流持久的保存在磁盘上,通过网络将这种二进制流传输 ...

  9. 把普通对象转换成json格式的对象

    1.什么叫做JSON?JSON只是一种数据格式(它不是一种新的数据类型) var obj = {name: "中国", age: 5000};//->普通格式的对象 var ...

随机推荐

  1. 【转帖】linux下的各个目录的含义

    linux下的各个目录的含义 http://embeddedlinux.org.cn/emb-linux/entry-level/200809/22-85.html/bin/usr/local/bin ...

  2. sql之游标

    --select * from   master..sysprocessesuse testdeclare my_cursor cursor scroll dynamic --scroll表示可以向前 ...

  3. List与Set区别

    List: 元素有序放入,元素可重复 Set: 元素无序保存,元素不可重复(通过==判断,非基本类型判断的是引用地址),因为set是无序的,故只能通过迭代器循环.ps:说是无序,但是其实set中的元素 ...

  4. Spring Boot 版本支持

    一.Spring Boot 版本支持 Spring Boot Spring Framework Java Maven Gradle 1.2.0之前版本   6 3.0+ 1.6+ 1.2.0 4.1. ...

  5. Sql Server--如何自动备份数据

    下面我来讲一下如何通过维护计划来实现完整备份+差异备份: (1)在SSMS的对象资源管理器中右击“维护计划”,选择“维护计划向导”,系统将弹出向导窗口,如图: 这里向导已经告诉我们维护计划到底能够干什 ...

  6. yolov3应该什么时候停止训练?

    按照训练期间的参数提示: Region Avg IOU:0.798363,Class:0.893232,Obj:0.700808,No Obj:0.004567,Avg Recall:1.000000 ...

  7. LeetCode:175.组合两个表

    题目链接:https://leetcode-cn.com/problems/combine-two-tables/ 题目 表1: Person +-------------+---------+ | ...

  8. python版本

    一般在Linux下,默认会安装一个python2.*的版本,但是我们自己开发有时候需要python3.*的版本 1. 安装python3 .安装依赖包 )首先安装gcc编译器,gcc有些系统版本已经默 ...

  9. java基础3(异常)

    1.异常的体系 1)请描述异常的继承体系 异常继承体系为:异常的根类是 java.lang.Throwable,其下有两个子类:java.lang.Error 与 java.util.Exceptio ...

  10. 【Git的基本操作七】创建远程库、在本地创建远程库别名

    1. 创建远程库