一、写入坐标
①maven仓库官方地址
②输入关键字
③点击进入(建议使用使用次数多的坐标)
④点击version下的版本号,复制坐标到pom.xml文件
二、对象转json
实体类属性:
private Integer id;
private String name;
private String password;
private Integer status;
-------------------------------------
使用Gson转化:
Gson gson = new Gson();
User user = new User();
user.setId(22);
user.setName("json");
user.setStatus(0);
String result = gson.toJson(user);
System.out.println(result);
---------------------------------------------
结果:{"id":22,"name":"json","status":0}
可以看到如何没有设置password就不会输出这个字段,如何显示呢?
GsonBuilder gsonBuilder = new GsonBuilder();
String jsonString1 = gsonBuilder.serializeNulls().create().toJson(user);
System.out.println(jsonString1);
---------------------------------------
结果:{"id":22,"name":"json","password":null,"status":0}
显示指定字段
①在相关属性上添加@Expose注解,这里我在name上添加
②GsonBuilder中设置excludeFieldsWithoutExposeAnnotation();
GsonBuilder gsonBuilder1 = new GsonBuilder();
gsonBuilder1.excludeFieldsWithoutExposeAnnotation();
String jsonString1 =gsonBuilder1.create().toJson(user);
System.out.println(jsonString1);
-------------------------------------------
结果:{"name":"json"}
重命名属性
①在需要重命名的属性上添加@SerializedName("newname"),引号之内为新命名
结果:{"newname":"json"}
三、解析json格式的数据
引入com.alibaba.fastjson
json格式如下时:
{"name":"jj0","id":"0"}
使用JSONObject.parseObject(String json);
json格式如下时:
[{"name":"jj0","id":"0"},{"name":"jj1","id":"1"},{"name":"jj2","id":"2"}]
使用JSONArray.parseArray(String json);