Java对象与Json字符串的转换
Java对象与Json字符串的转换
JSON是一种轻量级的数据交换格式,常用于前后端的数据交流
后端 : 前端
Java对象 > JsonString
Java对象 < jsonString
使用Gson进行验证
Bean对象 Java解析Bean对象时需要将对应的'类对象'传入
package com.json.bean;
public class Person {
private int age;
private String name;
public Person() {
}
public Person(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.json.bean;
import com.google.gson.Gson;
import org.junit.Test;
public class BeanTrans {
Gson gson = new Gson();
@Test
public void test(){
Person p = new Person(1, "帅哥");
String bean2json= gson.toJson(p);
System.out.println(bean2json);
Person p1 = gson.fromJson(bean2json,Person.class);
System.out.println(p1);
System.out.println(p1.getName());
}
}
{"age":1,"name":"帅哥"}
Person{age=1, name='帅哥'}
帅哥
List对象 List需要新建一个类继承TypeToken,然后在Java解析字符串时将TypeToken的子类的‘类对象’传入
package com.json.list;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
public class PersonList extends TypeToken<ArrayList<Person2>> {
}
package com.json.list;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class ListTrans {
Gson gson = new Gson();
List<Person2> list = new ArrayList<Person2>();
@Test
public void test(){
Person2 p1 = new Person2(1, "我好帅");
Person2 p2 = new Person2(2, "你也好帅");
list.add(p1);
list.add(p2);
String list2json = gson.toJson(list);
System.out.println(list2json);
ArrayList<Person2> list1 = gson.fromJson(list2json,new PersonList().getType());
System.out.println(list1);
System.out.println(list1.get(0).getName());
}
@Test
public void test1(){
Person2 p3 = new Person2(3, "我好帅");
Person2 p4 = new Person2(4, "你也好帅");
list.add(p3);
list.add(p4);
String list2json = gson.toJson(list);
System.out.println(list2json);
// 匿名内部类实现
ArrayList<Person2> list1 = gson.fromJson(list2json,new TypeToken<ArrayList<Person2>>(){}.getType());
System.out.println(list1);
System.out.println(list1.get(0).getName());
}
}
Map对象 Java解析Map对象时需要先实现一个继承TypeToken的子类,然后将对应的子类'类对象'传入
package com.json.map;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
import java.util.Hashtable;
public class PersonMap extends TypeToken<Hashtable<Integer, Person3>> {
}
package com.json.map;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.junit.Test;
import java.util.*;
public class MapTrans {
Gson gson = new Gson();
Map<Integer,Person3> map = new Hashtable<Integer, Person3>();
@Test
public void test(){
Person3 p5 = new Person3(1, "我好帅");
Person3 p6 = new Person3(2, "你也好帅");
map.put(1,p5);
map.put(2,p6);
String list2json = gson.toJson(map);
System.out.println(list2json);
Map<Integer,Person3> list1 = gson.fromJson(list2json,new PersonMap().getType());
System.out.println(list1);
System.out.println(list1.get(1));
}
@Test
public void test1(){
Person3 p5 = new Person3(3, "我好帅");
Person3 p6 = new Person3(4, "你也好帅");
map.put(1,p5);
map.put(2,p6);
String map2json = gson.toJson(map);
System.out.println(map2json);
// 匿名内部类实现
Map<Integer,Person3> map2 = gson.fromJson(map2json,new TypeToken<Hashtable<Integer, Person3>>(){}.getType());
System.out.println(map2);
System.out.println(map2.get(1));
}
}
Java对象与Json字符串的转换的更多相关文章
- Java基础97 json插件的使用(java对象和json字符串对象之间的转换)
1.需要用到的包 2.实例 实体类 people package com.shore.entity; /** * @author DSHORE/2019-4-19 * */ public class ...
- java对象与json字符串的互相转换
java对象与json字符串的互相转换 1.采用 net.sf.json.JSONObject maven依赖包: <dependency> <groupId>net.sf.j ...
- Java实现JSONObject对象与Json字符串互相转换
Java实现JSONObject对象与Json字符串互相转换 JSONObject 转 JSON 字符串 Java代码: JSONObject jsonObject = new JSONObject( ...
- java对象与Json字符串之间的转化(fastjson)
1. 首先引入jar包 在pom.xml文件里加入下面依赖: <dependency> <groupId>com.alibaba</groupId> <art ...
- Java对象、Json、Xml转换工具Jackson使用
在Java项目中將一个对象转换成一段Json格式的字符串是非常常见的,能够实现这种需求的工具包也比较多,例如Gson.JSON-lib.Jackson等等.本文主要介绍Jackson的使用,Jacks ...
- java对象与Json字符串之间的转化
public class Test { public static void main(String[] args) { // 实现java对象与Json字符串之间的转化 // 1. Person对象 ...
- JackSon将java对象转换为JSON字符串
JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的writeValueA ...
- (后端)JackSon将java对象转换为JSON字符串(转)
转载小金金金丶园友: JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的 ...
- C# 对象与JSON字符串互相转换的三种方式
C# 对象与JSON字符串互相转换的三种方式 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 关于内存对象和JSON字符串的相互转换, ...
随机推荐
- 最全面的SourceTree账号注册教程
前言: 作为一个国内开发者而言使用Git操作神器SoureTree最大的问题就是账号注册问题,因为注册账号的链接在不翻墙的情况下基本上是打不开的(弄过的童鞋应该都体会过),所以有的时候我们需要借助一些 ...
- postman获得时间戳和md5加密的方法
注意点:记得用postman.setGlobalVariable设置全局变量,不然{{strmd5}}这种变量取不到值
- 厉害了!除了find命令,还有这么多文件查找命令,高手必备!
大家好,我是良许. 在系统里查找文件,是所有工程师都必备的技能(不管你用的是 Windows .Linux.还是 MacOS 系统).对于 Linux 操作系统,单单一个 find 命令就可以完成非常 ...
- cb27a_c++_STL_算法_最小值和最大值
cb27a_c++_STL_算法_最小值和最大值min_element(b,e) b--begin(), e--end()min_element(b,e,op). op:函数,函数对象,一元谓词.ma ...
- 从零开始手把手教你使用原生JS+CSS3实现幸运水果机游戏
项目体验地址 免费视频教程 游戏介绍 幸运水果机是一款街机游戏,游戏界面由24个方格拼接成一个正方形,每个方格中都有一个不同的水果图形,方格下都有一个小灯.玩家使用游戏币选择希望押注的目标,按下开始后 ...
- 位运算实现加减乘除四则运算(Java)
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 本文是继< ...
- bugku 一个神奇的登录框
一个登录界面,填个admin,123试试,提示try again 抓包看看. 在admin后加个’提示try again 看来是被过滤了,试试” 报错了,加上# 报错没有了,说明存在注入点. 先来判断 ...
- 【asp.net core 系列】14 .net core 中的IOC
0.前言 通过前面几篇,我们了解到了如何实现项目的基本架构:数据源.路由设置.加密以及身份验证.那么在实现的时候,我们还会遇到这样的一个问题:当我们业务类和数据源越来越多的时候,我们无法通过普通的构造 ...
- iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name
今天使用docker运行mysql时报错, 执行命令: docker run --restart=always --name mysql5.7 -p 3306:3306 -v /data/mysql/ ...
- 判断CString 字符串里面是否全部为数字
//原理就是去除0-9的数字,判断去除数字后的字符串是否为空,如果为空,说明字符串全部都是为数字,否则得话,就不是. strOutTimeOnNum = strouttime.TrimLeft( _T ...