JSON

作者: 宋song一 | 来源:发表于2018-10-10 19:33 被阅读4次

    JSON : JavaScript Object Notation,首选的数据交换格式

    1. json数据格式

    • 对象格式

    {"key":"value" , "key":"value",...}

    键值要使用冒号分隔 。

    • 数组格式

    [obj , obj , obj ...] , 这个obj 可以是一些简单的字符串,也可以是一个大括号形式存在的对象格式。

    如: ["aa","bb","cc"] 或者是 [{"name":"zhangsan"},{"name":"lisi"},{"name":"wangwu"}]

    2. 解析json

    1. html解析

    //1. json对象
    var user = {
        "username":"aobama",
        "password":"1234"
    }
    
    alert(user.username) ; //通过key获取json数据
    
    //2. json数组
    var arr = ["jack" , "rose" , "tom"];
    alert(arr[1]);
    
    //3. 综合演练
    var data = [
        {"id":1 , "name":"iphoen8","price":5999},
        {"id":2 , "name":"xiaomi5","price":1999},
        {"id":3 , "name":"vivo7","price":3999},
    ]
    
    alert(data[1].name)
    

    2. 后台解析

    后台解析,需要jar包, 一般常用的有 jsonlib 或者 gson(Google) 或者 fastjson(Ali). Spring自带的Jackson

    1. 导入依赖
     compile group: 'com.google.code.gson', name: 'gson', version: '2.2.4'
    
    1. 生成 | 解析json
    User user = new User();
    user.setUsername("aa");
    user.setPassword("123");
    
    Gson gson  =new Gson();
    
    //对象到json
    String json =  gson.toJson(user);
    
    
    //json到对象
    User u = gson.fromJson(json , User.class);
    System.out.println("u=" + u);
    

    gson转换:

    javascript:
    JSON.stringify(对象)
    JSON.parse(字符串)
    java:
    new GSON().toJson(对象)
    new GSON().fromJson("字符串")

    jackson 转换:

    需通过new ObjectMapper()
    objectMapper.writeValueAsString(): json对象转为字符串
    读取json文件并保存到list集合中(账本)
    ObjectMapper objectMapper = new ObjectMapper();
    JavaType javaType = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, String.class);
    list = objectMapper.readValue(file, javaType);

    相关文章

      网友评论

          本文标题:JSON

          本文链接:https://www.haomeiwen.com/subject/fdemaftx.html