JSON常用方法
一. java
1.导入包
com.alibaba.fastjson
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.4</version> </dependency>
net.sf.json
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> //此处要加上jdk版本号 </dependency
注意JDK版本
2.常用方法
2.1 转换
字符串转化为JSON对象
//字符串转化为对象 String str2 = "{\"success\":\"true\",\"returnAddress\":\"123\", \"data\":{\"id\": 123}}"; JSONObject jsonObject2 = JSON.parseObject(str2);
字符串转化为JSON数组
fastjson
String str2 = "[{\"note\":\"1\"},{\"note\":\"2\"}]"; JSONArray jsonObject2 =JSONObject.parseArray(str2); //获取某一个KEY的值 并 转化为数组 //先转化为json对象 String str=........; JSONObject jsonOb=JSONObject.parseObject(a).getString("datagrid"); //对象当中获取key对应的值 String str2=jsonOb.getString("key"); JSONArray jsonAr=JSONObject.parseArray(str2);
net.sf.json
String data=.....;
JSONArray json = JSONArray.fromObject(data);
JSONObject 转化为字符
String str2 = "{\"success\":\"true\",\"returnAddress\":\"123\", \"data\":{\"id\": 123}}"; JSONObject jsonObject2 = JSONObject.parseObject(str2); //两种方法输出结果一样 System.out.println(jsonObject2.toJSONString()); System.out.println(jsonObject2.toString());
JSONObject 转化为指定的类
net.sf.json
ClassName info = (ClassName ) JSONObject.toBean(JSONObject对象, ClassName .class);
2.2 JSON对象
替换JSON字符串中的指定KEY的值
JSONObject arrayInfo = new JSONObject(); 赋值... //替换 color 的值 arrayInfo .put("color","blue");
删掉JSON字符串中的指定的KEY
String str2 = "{\"success\":\"true\",\"returnAddress\":\"123\", \"data\":{\"id\": 123}}"; JSONObject jsonObject2 = JSONObject.parseObject(str2); jsonObject2.remove("success"); System.out.println(jsonObject2);
2.3 JSON数组
获取JSON对象中的JSON对象
JSONObject job = JSONArray对象.getJSONObject(i);
JSON数字添加JSON对象
String str2 = "{\"success\":\"true\",\"returnAddress\":\"123\", \"data\":{\"id\": 123}}"; JSONObject jsonObject2 = JSONObject.parseObject(str2); JSONArray arrayInfo1 = new JSONArray(); arrayInfo1.add(jsonObject2 );
2.4 为空判断
json对象==null || json对象.isEmpty()
二.js
删除指定的KEY
delete json对象['keyname']; delete json对象.keyname;