什么是JSONJSON是一种与开发语言无关的,轻量级的数据格式. 全称JavaScript Object Notation优点易与人的阅读和编写,易于程序解析和生产简单的JSON样例这是一个对象,以key和value的形式存储{“name” : “JSON入门”,author : “China”,“content”: [“JSON基础入门”,“常用JSON处理”]“time” : {“value” :30,“unit” : “分钟”}}JSON的组成数据结构(对象,数组)基本类型(string number true false null)数据结构:对象使用花括号{}包含的键值对结构,key必须是string类型,value可以是任何基本类型或者数据结构(对象或者数组)数据结构:数组使用中括号[]来起始,并用逗号来分隔元素JSON数据演示{“name” : “王小二”,“age” : 25.2,“birthday” : “1990-01-01”,“school” : “蓝翔”,“major” : [“理发”,“挖掘机”],“has_girlfriend” : false,“car” : null,“house” : null}JSON一般不使用注释,如果要使用注释可以新增加一个属性,这个用来放注释JSON对象的构建首先要有json的jar包,或者添加依赖groundId:org.jsonartifactId:jsonversion:20090211使用JSONObject构建JSON对象用nullObj对象躲过编译器的判断,最后用toString返回一个字符串使用hashmap构建JSON对象使用nullObj的原理一样是为了躲过编译器的判断,最后我们把这个map对象传入JSONObject的构造方法中生成JSON对象,最后tostring成字符串.使用JavaBean构建JSON对象首先创建一个类,并且提供getter和setter方法通过set方法给对象的属性赋值,最后用JSONObject的构造方法传入对象生成JSON对象.从文件读取JSON(解析JSON数据)导入jar包或者添加依赖groundId: commons-ioartifactId:commons-ioversion:2.4首先创建一个json文件,里面存放一个json数据,数据如上然后使用FIle(类名.class.getResource(“文件路径”))获取文件使用FileUtils工具转换为String类型的数据然后把String转换为JSONObjectJSON对象可以使用get类型(key)的方式获取对应的value,对于数组而言,可以使用getJSONArray方法把普通数组转换为JSON数组,最后遍历数组,和强制转换为String打印即可从文件读取JSON 细节1:null的读取使用JSON对象的isNull方法判断JSON对象的某一个属性是否为空,如果fei’kongfeikong就打印.GSON转换JSON导入jar包或者添加依赖com.google.code.gsongson2.4创建gson对象,采用toJson方法把普通对象转换为JSON对象如果在转换过程中我们想修改JSON和java bean对象对应的属性值,那么我们需要在Java bean类中对应的属性上一行添加注解SerializedName(“这里写你希望转换成什么名字”)就可以了.自动格式化JSON数据自定义策略自定义策略,把属性名为name的属性转换为JSON对象的属性的时候映射为NAME其他的属性是默认值.隐藏对象的某属性在我们的普通对象转换为JSON对象时,可能我们并不希望某些属性让用户看见这时候可以设置在生成JSON过程中忽略掉这个属性GSON反解析JSON首先获取JSON文件,然后转换为String,然后调用Gson的fromJson方法,参数一解析成的String类型的json数据,参数二是参照的类.这里参照的类的属性要和JSON数据的key一一对应,否则属性值为nullGSON反解析JSON 带日期转换首先使用GsonBuilder的setDateFormat(“日期格式”)的create()方法,把日期格式的内容按new Date显示.然后调用get日期的方法的toLocaleString()的方法.GSON集合类解析如果对象的属性类型是集合的话,那么直接get属性名就可以得到这个集合