• 常用后端json处理方法


    一、什么是json?

    json本来是javascript里的内容,有时后端要传各种各样的数据格式来适应前端,所以需要用到json来转换,用它来表示各种各样复杂的数据,如对象,数组,集合,以及集合的集合等数据。

    json是一种轻量级的前端后端以及网络传输的数据交换格式,就是一串字符串,只不过元素会使用特定的符号标注。 {} 双括号表示对象,[] 中括号表示数组,”” 双引号内是属性或值,: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)。

    在后端可以把一个字符串,然后通过json来转换成特定的字符串传到前端去 。

    二、为什么要用json?

    易于解析这种语言, 客户端JavaScript可以简单的通过eval()进行JSON数据的解析,通过遍历数组以及访问对象属性来获取数据。

    三、一些常见的json格式

    1.JSON对象——JSONObject

    var json={"name":"张三" , "age":18 };
    var json={"name":"张三", "age"=18,"address":{"street":"湖南", "city":长沙","country":"中国"}};

    2、JSON数组——JSONArray

    var json=[{"name":"张三" , "age":18 },{"name":"李四" , "age":20 }];
    var json=[
    {"name":"张三", "age"=18,  "address":{"street":"湖南", "city":"长沙","country":"中国"}},
    {"name":"李四", "age"=20,  "address":{"street":"湖南", "city":"张家界","country":"中国"}}
    ]

    3、

    var json={"abc":[{"name":"txt1"},{"name","txt2"}]}; //{}里面的是一个对象
    四、后端常用处理json方法

    fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

    JSON.parseObject(String str)是将str转化为相应的JSONObject对象

    JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别:JSON是一个抽象类,JSON中有一个静态方法parseObject(String text),将text解析为一个JSONObject对象并返回;JSONObject是一个继承自JSON的类,当调用JSONObject.parseObject(result)时,会直接调用父类的parseObject(String text)。所以两者没什么区别,一个是用父类去调用父类自己的静态的parseObject(String text),一个是用子类去调用父类的静态parseObject(String text),两者调的是同一个方法。

    //json字符串转换为对象
    jsonString = "{"result":"success","message":"成功!"}"; //或jsonString = "{'idcard':'42313123','id':'2345'}"; 
    jsonObject = JSONObject.parseObject(jsonString);  
    JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("data")); 
    //json字符串转换为map
    Map<String,String> map = JSONObject.parseObject(jsonString, Map.class);
    //JSONObject转换为json字符串
    String jsonstr=JSON.toJSONString(jsonObject);
    //将String转换成JSONArray,先转为JSONObject,再将[]部分转为JSONArray
    String str1 = "{"result":"success","message":"成功!","data":[{"name":"Tom","age":"20"}]}"; //data的value可以转为Array 
    JSONObject json = JSONObject.parseObject(str1);  
    JSONArray jsonArray = JSONArray.parseArray(json.getString("data"));
  • 相关阅读:
    BZOJ 2005 能量采集
    HDU 2841 Visible Trees(莫比乌斯反演)
    hihocoder 1543
    hihocoder 1311
    hdu 6069
    hdu 6058
    hdu 6034
    拓展欧几里得
    poj 3321
    树状数组总结
  • 原文地址:https://www.cnblogs.com/lcx20190724xxz/p/11237191.html
Copyright © 2020-2023  润新知