对于java来说,json的对象也是分为JSONObject和JSONArray这两种。每种对象的操作方式不一样哦。
Java中并没有内置JSON的解析,因此使用JSON需要借助第三方类库。
下面是几个常用的 JSON 解析类库:
Gson: 谷歌开发的 JSON 库,功能十分全面。
FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。
Jackson: 社区十分活跃且更新速度很快。
一,生成json的对象(这里的创建对于JSONArray同样适用)
1,直接创建
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "tom");
jsonObject.put("age", 18);
2,map创建
Map
params.put("status","200");
params.put("username","kylin");
params.put("password","123456");
params.put("sexy","male");
params.put("userID","15062");
JSONObject jsonObject=JSONObject.fromObject(params);
3,对象创建
User user=new User();
user.setUsername("kylin");
user.setPassword("123456");
JSONObject jsonObject=JSONObject.fromObject(user);
4,json的字符串创建
JSONObject object = JSONObject .parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}");
二,json对象转成其他的对象
1,转换成java对象
User user=(User)JSONObject.toBean(jsonobject,User.class);
(需要注意:JSONArray还可以转换成很多种的形式。)
List
2,转成map
JSONObject jsonobject = JSONObject.fromObject(jsonStr);
Map params=(Map) jsonObject;
//然后就可以通过map来操作了
//判断是否有username字段和username字段if (params.containsKey("username")){
System.out.println(params.get("username"));
}
if (params.containsKey("password")){
System.out.println(params.get("password"));
}