-
json: key必须为string类型,value可以是基本类型或数据结果
支持的value类型:
object 对象:{}
array 数组:[] 数组内用逗号隔开
基本类型:String,number(数值,包括整数,浮点数),布尔类型(true,false),null
查看全部 -
JavaScript object Notation查看全部
-
引入依赖 com.google code.gson gson 2.4查看全部
-
@SerializedName("a")将注解的key值变为a查看全部
-
跟进社区产品,有新功能简化工作 Set<> List<>查看全部
-
集合类解析——
GSON另外一个常用操作:进行转换和解析过程中,能够将JSON中的数组和java中的集合类进行对接。
案例:这里把实体类中数组类型的major换为集合类型List。
查看全部 -
GSON解析带日期转换
JSON不支持日期格式数据,所以只能使用String类型的日期。但是java中有Date数据类型的数据,GSON是支持日期类型数据的(此处的支持是指将日期转换成Date的格式)。
步骤1:创建Gson对象时,通过new GsonBuilder()的setDateFormat(“yyyy-MM-dd”).create(),通过该模板GSON会把符合该模式的字符串日期自动转换成Date的类型
查看全部 -
GSON解析JSON格式的数据
案例:这里将JSON格式数据解析为JavaBean对象,这里使用fromJson(String json,Class type),这样就可以把JSON的数据赋值给JavaBean的属性,如果key值对应不上属性名就置为null。
查看全部 -
生成JSON数据——
GSON:可以输出JSON样式数据,可以使用GsonBuilder在构建JSON数据过程中,使用setPrettyPrinting()方法,然后就不使用new Gson对象而是通过gsonBuilder.create()来创建Gson对象。
GSON:可以使用GsonBuilder对象在解析时,使用setFieldNamingStrategy(回调函数)进行一些操作,例如:把Key变成大写,如果为其他还是默认值。
GSON:JavaBean的有些属性不想暴露在JSON数据中,通过JSON的默认生成方式会将所有属性生成key和value进行输出,而GSON通过声明一个类型为transient类型的属性,这样在JSON数据生成过程中就会忽略掉该属性。
查看全部 -
GSON生成JSON数据
步骤1:添加依赖
步骤2:使用JavaBean创建GSON数据,通过GSON的toJson(Bean对象)就可以转换为GSON数据。
GSON:可以使用@SerializedName(“NAME”)改变GSON的key值。
查看全部 -
本章介绍使用Google的GSON包来生成和解析JSON格式数据。除此以外,还包括GSON解析带日期的数据,以及集合类解析。
GSON简介——
GSON:开源的第三方工具,可以用来解析JSON数据,相比JSON,功能更全面,性能更出色,使用方式更加便捷。
查看全部 -
JSON总结
JavaBean方式适用于生成JSON数据和但是不适用于解析JSON数据,因为JSONObject的第三库不支持解析JSON数据。
JSON总结:
生成JSON数据——(有缺陷的,日期类型需要定义成String类型)
【1】通过JSONObject的put方法这种原生的方式
【2】通过Map的put方法方式,再把该对象传入JSONObject构造方法中
【3】通过JavaBean的set方法方式,再把JavaBean对象传入JSONObject构造方法
解析JSONObject——(缺陷,不能反解析成JavaBean)
【1】读取文件位置
【2】FileUtils类的readFileToString把JSON数据转换成String类型
【3】再把该String对象传入JSONObject构造函数中
查看全部 -
从文件读取JSON判断null(增加程序健壮性)
实际开发中读取JSON数据是在WEB环境下(网络上提供的API或者文件中)
如果在读取时,JSON数据中没有指定key,一般需要打印一个日志或者抛出一个异常,这里可以使用JSONObject对象的isNull("key")方法,判断如果没有key值做一些操作。
查看全部 -
解析JSON数据
辅助:一般解析JSON数据时,需要获取JSON数据的途径,这个途径可能是文件读取或远程API网络上获取JSON数据,这里讲解从文件途径中进行文件读取,并转换成一个我们想要的对象,在pom文件中引入common-io的依赖,该包方便读取文件的内容。
案例:从一个文件中读取JSON数据,并转换为对象。
步骤1:项目中创建王小二的JSON格式数据。
步骤2:读取该文件,首先声明JSON文件的File,并指明该文件的路径(项目的根路径下)
步骤3:通过FileUtils类的readFileToString读入JSON文件,再通过JSONObject构造函数传入读入的JSON文件。
JSONObject提供了一些获取指定key值的方法:
【1】getString("key")获取value类型为String的值
【2】getDouble("key")获取value类型为number的值
【3】getBoolean("key")获取value类型为boolean的值
【4】getJSONArray("key")获取value类型为数组的值,它的返回值是JSONArray,它是一个数组。
查看全部 -
toLocaleString()过时了,替代的有:DateFormat ddf = DateFormat.getDateInstance();
DateFormat dtf = DateFormat.getTimeInstance();
DateFormat ddtf = DateFormat.getDateTimeInstance();
Date date = new Date();
System.out.println("日期:" + ddf.format(date));
System.out.println("时间:" + dtf.format(date));
System.out.println("日期时间:" + ddtf.format(date));
SimpleDateFormat sdf = (SimpleDateFormat) DateFormat.getDateTimeInstance();
System.out.println("日期时间:" + sdf.format(date));
查看全部
举报