json的操作以及如何查找maven坐标

一、写入坐标

①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);

经验分享 程序员 微信小程序 职场和发展