• 第十篇:javaScript中的JSON总结


    参考网站:json中国,MDN json

    一、必知基础
        JSON 是JavaScript对象文字符号的一个子集,它可以自如的在JavaScript中使用.
    看下这个对象:
    var myJSONObject = {
      "bind": [
      {"id": "1", "name": "kobe", "psw": "Bryant"},
      {"id": "2", "name": "Jordan", "psw": "MJ"},
      {"id": "3", "name": "James", "psw": "Lebrown"}
      ]
    };  
    同样的,{}叫对象,[]叫数组, bind,id,name,psw我们叫成员

    二、成员怎么访问
        json完全符合js的语法,因为直接用js对象的访问方法,也即是点号(.),或下标[""]方式
    比如访问kobe,那么直接用myJSONObject.bind[0].name即可
     
    三、符合json格式的字符串转换成json对象
       1、一般使用eval()函数,至于网上提到的安全问题,对于我来说,暂时还没遇到需要考虑的安全问题.方法:var jsonObj = eval('(' + myJSONtext + ')'); 
       2、json解析器,比eval更快,由浏览器支持(只要不是很老的浏览器都支持)
        方法:var jsonObj = JSON.parse(jsonText);
        提示:该方法要注意解析时jsonText末尾不要加逗号(,)
       3、Function函数,这种方法就不要用了,做开发就是要用新的效率和知名度更高的。最常用的就上面2种
     
    四、js值序列化为json字符串
    方法:JSON.stringify();
    注意:
    1、非数组对象不能保证以特定的顺序转到序列化后的json字符串中
      eg: JSON.stringify({x:5,y:6});结果为'{"x":5,"y":6}'或'{"y":6,"x":5}'都有可能
    2、布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。
    JSON.stringify({});      // '{}'
    JSON.stringify(true);     // 'true'
    JSON.stringify("foo");    // '"foo"'
    JSON.stringify([1, "false", false]); // '[1,"false",false]'
    JSON.stringify({ x: 5 });  // '{"x":5}'
    3、undefined在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)
    JSON.stringify({x: undefined, y: Object, z: Symbol("")});// '{}'
    JSON.stringify([undefined, Object, Symbol("")]);      // '[null,null,null]' 
  • 相关阅读:
    software 的魅力
    CSS中,脚本不能覆盖CSS的!!!
    取消自增ID.
    [求教]FF与IE 的Style 不兼容问题?
    SQL存储过程 之 sp_MSforeachtable和sp_MSforeachDB
    疑问:AddWebPart 不能添加动态加载的自定义控件吗?
    关于 各语言的 readonly。
    查询存储过程中的结果集.(顺便贴:一行折多行的方法)
    附一张css hack
    远程桌面dos开启
  • 原文地址:https://www.cnblogs.com/yb38156/p/9821931.html
Copyright © 2020-2023  润新知