<一> Google Gson 转换Json字符串和对象(对象中还有内嵌对象,Map,数组)

     可以直接执行如下类中的main方法将json字符串转换为相应对象后并打印出转换后的对象:

 

import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

/**
 * 
 * @author Josh Wang(Sheng)
 *
 * @email  josh_wang23@hotmail.com
 */
public class JsonBean {
	private String a;
	private List<B> b; // array
	private C c;
	
	private Map<String, String> d;
	

	public class B {
		private String b1;
		private String b2;
		public String getB1() {
			return b1;
		}
		public void setB1(String b1) {
			this.b1 = b1;
		}
		public String getB2() {
			return b2;
		}
		public void setB2(String b2) {
			this.b2 = b2;
		}
		
		
	}

	public class C {
		public String c1;
		public String c2;
	}
	

	public String getA() {
		return a;
	}



	public void setA(String a) {
		this.a = a;
	}



	public List<B> getB() {
		return b;
	}



	public void setB(List<B> b) {
		this.b = b;
	}



	public C getC() {
		return c;
	}



	public void setC(C c) {
		this.c = c;
	}



	public Map<String, String> getD() {
		return d;
	}



	public void setD(Map<String, String> d) {
		this.d = d;
	}
	
	@Override
	public String toString() {
		return "JsonBean [a=" + a + ", b=" + b.get(0).getB2() + ", c=" + c.c2 + ", d=" + d.get("myKey") +"]";
	}
	
	public static void main(String[] args) {
		String json = "{\"a\":\"100\",\"b\":[{\"b1\":\"b_value1\",\"b2\":\"b_value2\"},{\"b1\":\"b_value1\",\"b2\":\"b_value2\"}],"
				+ "\"c\":{\"c1\":\"c_value1\",\"c2\":\"c_value2\"}, \"d\": {\"myKey\":\"myValue\"} }";
		
		GsonBuilder builder = new GsonBuilder();
		// builder.setDateFormat(DateUtils.MIDDLE_LINE_TIMESTAMP);
		// builder.registerTypeAdapter(NucleonEventType.class, new NucleonEventTypeSerializer());
		
		Gson gson = builder.create();
		
		System.out.println(gson.fromJson(json, JsonBean.class));
	}

	
}

 

执行结果为:

JsonBean [a=100, b=b_value2, c=c_value2, d=myValue]

 

 

 

关于Gson的各数据类型转换 Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库 下面是自己总结的各种数据类型的处理方式,包括: 1,单个实体对象转换为JSON格式 2,带泛型的实体对象集合转换为为JSON 3,单个JSONString转换为实体对象 4,集合型JSON转换为实体对象集合 5,实体对象Map集合转换为Map集合型JSON 6,Map集合型JSON转换为实体对象Map集合 阅读详情

相关推荐

json字符串实体bean或者List互转(gson和jackson,支持泛型)

json字符串实体bean或者List互转(gson和jackson,支持泛型),支持json的格式化,所需要的包在代码也有说明。还有少的可以告知我,谢谢

json解析工具解决new Gson().toJson() 将存在JSONObject成员的对象转json字符串有map字段

json是开发过程中非常常用的数据交互格式 实际项目过程中经常会需要将一个对象转换成json字符串,常用 new Gson().toJson 转换方法,如下 public class Test { static class Student { public String name; public long no; public Studen...

a704397849的博客 1万+

利用gson将map转为json示例

主要介绍了利用gson将map转为json示例,需要的朋友可以参考下

使用Gson解析Json为Map对象探索(上)

使用Gson解析Json为Map对象探索(上)有些时候由于后台业务系统的不一样导致一个Json的list对象装的并非是同一种类型的对象,导致无法建立比较好的Java模型,而刚好可以利用map对象的通用性来解决.1.json数据2.转化成MapString str = "{\n" + " \"a\": {\n" + " \"b\":

sinat_29256651的博客 5280

SQL手工注入及sqlmap注入(文章管理系统实例练习)

sql手工注入及sqlmap注入练习

weixin_53303754的博客 524

神经元细胞结构刨析(持续更新)

神经细胞的学习笔记

weixin_46596227的博客 2221

Java-----基于JSON实现向下类型转换(父类转子类)

众所周知,在JVAV里面,我们可以将一个类对象通过Gson等工具序列化对象,得到一个类似于"{"name":"zhangsan","age":18}"的字符串。同理,我们也可以将这个字符串反序列化,得到JAVA对象。那么,假设我们有一个类Person的对象,由于某些不为人知的原因,需要把它转换成Person的子类对象Student,基于上面的原理,我们可以怎么实现呢?简单地实现一下Person和Student类//子虽然显得有点怪异,但勉强作为示例。

2301_80036292的博客 883

12V转5V稳压电路详细分析(7805三端稳压,LM2596稳压)

7805线性三端稳压 DCDC的意思是直流变到直流(不同直流电源值的转换),只要符合这个定义都可以叫DCDC转换器,或称之为开关电源或开关调整器。 7805属于常用的线性三端稳压器,输入电压范围不大于35V,输入输出压差2V,最大输出电流1.5A,下图为原理图,其原理简单,使 用方便,深受很多用户的喜爱。但是其不足之处就是效率低,特别是压差越大时其效率越低。比如这里12V转5V的效率为 5V/12V≈41.7%。 如上电路是最经典的7805稳压5V电路,电路中有两个电容,电容的作用如下: ...

a2001444的博客 9万+

利用Google Gson实现JSON字符串和对象之间相互转换

最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的。 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Person实体类 package com.hsun.json; /** * Person 实体类 * @author hsun * */ public class Person

hsun924的专栏 1万+

机器学习算法 —— LightGBM

本次我们选择英雄联盟数据集进行LightGBM的场景体验。英雄联盟是2009年美国拳头游戏开发的MOBA竞技网游,在每局比赛中蓝队与红队在同一个地图进行作战,游戏的目标是破坏敌方队伍的防御塔,进而摧毁敌方的水晶枢纽,拿下比赛的胜利。现在共有9881场英雄联盟韩服钻石段位以上的排位比赛数据,数据提供了在十分钟时的游戏状态,包括击杀数、死亡数、金币数量、经验值、等级……参考项目:机器学习系列入门系列[七]:基于英雄联盟数据集的LightGBM的分类预测。

ZShiJ的博客 708

【沃顿商学院学习笔记】商业基础——Financing:05 名义利率和实际利率 APR& EAR

商业基础——名义利率和实际利率 本章主要是从名义利率和实际利率的相关概念和计算方法进行学习。 名义利率和实际利率 APR&amp;amp; EAR 根据下图可以直到: APR,QUOTED RATE在精算中又叫名义利率,比如一个房产贷款quoted rate or APR是12%,且按月复利,那么说明它的月实际利率是12%/12=1% EAR是effecive annual rate,在精算中叫实际利率,...

ECNU乐扣老师——区块链、可计算情感 1万+

如何使用 Gson 将对象转换为 JSON 字符串

如何使用 Gson 将对象转换为 JSON 字符串

JonTang的博客 3325

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

算法大师! 1005

Gson实现json与map互相转换

1.什么是Gson  什么是Gson,我们从其官网上可以看到详细说明:写道Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java ...

GoodIdea 8万+

SAP 生产订单工序删除状态撤回简介

2、我们在前台对于生产订单的状态一个是在生产订单抬头中的状态,另外一个是针对上面一直在测试的是工序的状态,这个两个状态是前台可见的状态,实际生产订单还有一个组件物料的状态,这个状态是不可见的一个状态。生产订单中的0010工序中对应的组件的栏位被标识,表示有物料分配到了0010的工序中,正常情况下0010的工序被分配了工序是不应该被删除的。将已领料的工序删除掉,导致异常的发生。当物料已领料会,用户仍然把已分配的物料的工序删除掉,导致后续业务操作过程中产生异常,如下图中所示,0010的工序被打上了删除标识。

我小时候很黑的博客 1945

基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码

基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码

算法如诗的博客 154

Gson转Map

使用google的Gson包,把json字符串转成Map以及List对象,记得下载Gson包, 我使用的是gson-2.1.jar Gson下载地址:gson-2.1.jar 下面是源码: package com.test; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; i

lianqiangjava的专栏 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Google Gson 解析 Json 快速使用入门,Spring boot 切换为 Gson

目录 Gson Summary 编码示例 Gson toJson 与 fromJson JsonObject、JsonArray、JsonParser 字段值为 null 时是否序列化 Gson Summary Java解析Json最常用的类库有:google 的Gson、阿里巴巴的FastJson、以及 Jackson。这些都是非常优秀而且常用的库。 ...

蚩尤后裔-汪茂雄 4万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

使用Google的Gson实现对象和json字符串之间的转换

使用Google的Gson实现对象和json字符串之间的转换 需要gson.jar 1.JsonUtil.java package com.snail.json; import java.lang.reflect.Type; import com.google.gson.Gson; /** * Java对象和JSON字符串相互转化工具类 * @author penghuaiyi * @date 2013-08-10 */ public final cla..

qq690452074的专栏 3914

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

gson生成jsonobject_GSON搞定JSON数据

GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。特点:a、快速、高效b、代码量少、简洁c、面向对象d、数据传递和解析方便Gon介绍com.google.code.gsongson2.8.0Gson的创建方式Gson gson = new gson();通过GsonBuilde...

weixin_39890102的博客 3239

c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换

最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的。废话不说,下面是简单的例子:先上源码:下载(包含jar包)Person实体类package com.hsun.json;/*** Person 实体类* @author hsun**/public class Person {private int id;private...

weixin_39650994的博客 520

Gson操作json字符串和json对象数组

引入gson-1.4.jar,(挺蛋疼的,不想自己研究这玩意,寻思网上直接找现成的Demo,结果没有我想要的东西) Gson中重要的几个核心类: Gson、JsonParser、JsonObject、JsonArray。 下面演示这两个类之间的转换过程: import Java.util.ArrayList; import java.util.HashMap; impo

YiRanAiNi_的博客 1063

Java创建和解析Json数据方法(五)——Google Gson包的使用

(五)Google Gson包的使用 1.简介 Gson包中,使用最多的是Gson类的toJson()和fromJson()方法: ①toJson():将java对象转化为json数据(一般为json格式的字符串) (序列化) ②fromJson():从json数据(json格式字符串)转为java对象 (反序列化) 也可以使用JsonObject和...

添仔哥哥 1万+
上一篇: Kafka 集群构建
下一篇: <二> Google Gson 转换Json字符串和对象(日期,枚举的转化)
iteye_4921
博客等级 码龄8年 25粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值