JavaScript Object Notation
一种轻量级的组织数据的方式,与XML具有相同的特性,但JavaScript可以直接解析JSON格式的数据,无须像处理XML一样编写解析代码
1. 要求:
文件类型 ".json" MIME 类型 "application/json"
前台json的key可以不加 "" 后台json的key必须添加""
value:Number Boolean String Array Object null json
2. 取值方式和修改方式:
前台:
var employees = [{ firstName:"Bill" , lastName:"Gates" }]
取值:employees[0].lastName
修改:employees[0].lastName="Jobs"
后台:
com.alibaba.fastjson.JSONObject j = new JsonObject ()
添加/修改:j.put("key","value")
取值:j.get(Object).toString()
删除:j.remove(Object)
3. fastjson中JSONObject、String、Bean的相互转换
String转换为JSON
JSON.parseArray (String)
JSON.parseObject (String)
JSON转换为String
new JSONObject ().toJSONString ()
new JSONArray ().toJSONString ()
String转换为Bean
JSON.parseArray("String",bean.class)
JSON.parseObject("String",bean.class)
如果是List.class, 必须是json数组格式的String:
List<JSONObject> list = JSONObject.parseObject(String, List.class)
Bean转换为String
JSON.toJSONString(obj)
Bean转换为JSONObject
JSON.toJSON(bean)
JSONObject转换为Bean
JSON.toJavaObject(json, class) 或者 new JSONObject().toJavaObject(class)
json数组和list之间的转换:不知道
4. 遍历
new JSONObject ().keySet()
new JSONObject ().values()
new JSONObject ().entrySet()
5. 关于各个json的对比
org.json 接收不到前台传过来的参数
net.sf.json.JSONObject null值的接收不到,但是可以存;
比如用jsonArray接收后,遍历每个jsonObject,就能读到null值
jackson https://www.cnblogs.com/xuwenjin/p/8976696.html