• json


    Json是javasscript的子集,但它是独立的,能够被各种现代编程语言用于交换数据,是一种数据格式
     
    string字符串只能用双引号包裹,单引号会出现错误。
     
    JSON对象和数组:
    {
    “name”: “Nicholas”,
    “age”: 29,
    “school”: {
    “name”: “Merrimack College”,
    “location”: [“North Andover",  "MA”]
    }
    }
     
    把javascript对象转化为JSON结构  var jsonText = JSON.stringify(object);        函数,prototype成员和属性值为undefined的都会被忽略掉
    stringify函数第二个参数用于可选择性转化:
    var jsonText = JSON.stringify(book, [“title”, “edition”]);              // 只转化对象中的title和edition属性
    也可以使用函数过滤
    var book = {
    “title”: “Professional JavaScript”,
    “authors”: [
    “Nicholas C. Zakas”
    ],
    edition: 3,
    year: 2011
    };
    var jsonText = JSON.stringify(book, function(key, value)   {         //过滤函数会同样应用到属性里面的对象
    switch(key){
    case “authors”:
    return value.join(“,”)
    case “year”:
    return 5000;
    case “edition”:
    return undefined;
    default:
    return value;
    }
    });
    结果:{“title”:”Professional JavaScript”,”authors”:”Nicholas C. Zakas”,”year”:5000}
    第三个参数可以进行排版
    var jsonText = JSON.stringify(book,null, 4);              //进行排版,每一行缩进四格,而且会换行
     
    在对象里指定toJSON方法也可以指定返回的数据(In fact, the native Dateobject has a toJSON()method that automatically converts JavaScript Dateobjects into an ISO 8601 date string (essentially, the same as calling toISOString()on the Dateobject) )
    var book = {
    “title”: “Professional JavaScript”,
    “authors”: [
    “Nicholas C. Zakas”     
    ],
    edition: 3,
    year: 2011,
    toJSON: function(){
    return this.title;
    }
    };
    var jsonText = JSON.stringify(book);         //只返回title的字符串而不是对象
     
    JSON.stringify()执行顺序:
    1、调用 toJSON() 方法,如果可用就返回具体的值
    2、如果提供了第二个参数,步骤1返回的值会被传入
    3、将步骤2返回的值合适地进行序列化
    4、如果提供了第三个参数,就会按照该参数进行合适地排版格式化
     
    把JSON转化为javascript对象:var javascriptObj = JSON.parse(jsonObject);
    javascriptObj 和 jsonObject是分开的两个对象,之间没有联系
    JSON.parse()方法也可以传入一个函数对每一个属性进行操作
    var book = {
    “title”: “Professional JavaScript”,
    “authors”: [
    “Nicholas C. Zakas”
    ],
    edition: 3,
    year: 2011,
    releaseDate: new Date(2011, 11, 1)
    };

    var jsonText = JSON.stringify(book);

    var bookCopy = JSON.parse(jsonText, function(key, value){
    if (key == “releaseDate”){
    return new Date(value);     //重新将值转化为Date类型,这样才能用该类型下的相关方法
    } else {
    return value;
    }
    });
    alert(bookCopy.releaseDate.getFullYear());
     
    在json中,用于转义
    如果需要嵌入到html的<script>标签中,则使用</script>
     
    Int类型不允许0开头,在有些语言里面0开头代表八进制
     
    使用 JSON.parse 可以避免输出危险和没有正确格式化的json,避免直接使用
    var myData = eval('(' + myJSONText + ')');
     
  • 相关阅读:
    SpringBoot优雅的全局异常处理
    react格式化展示json
    Pycharm调试按钮
    HttpURLConnection和okhttp的使用
    objection自动生成hook代码
    hookString
    python取中位数 位运算
    scrapy mongo pipeline
    xpath tips
    IT日语
  • 原文地址:https://www.cnblogs.com/chuangweili/p/5163602.html
Copyright © 2020-2023  润新知