JSON常用方法


一. java 

1.导入包

com.alibaba.fastjson

<dependency>
  <groupId>com.alibabagroupId>
  <artifactId>fastjsonartifactId>
  <version>1.2.4version>
dependency>

net.sf.json

<dependency>
    <groupId>net.sf.json-libgroupId>
    <artifactId>json-libartifactId>
    <version>2.4version>
    <classifier>jdk15classifier> //此处要加上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;