关于json

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

原文地址:https://www.cnblogs.com/1506wch/p/9939361.html