zoukankan      html  css  js  c++  java
  • JSON初探

    2016-05-03

    2016-05-03

          Json是一种简便的数据结构,是JavaScript的子集。解析就是把json数据解析为javascript代码,序列化就是把javascript数据包装成json。

       json可以支持三种数据类型:

    1.简单值。数字,字符,布尔值,不支持undefined 

    2.对象

    3.数组

    1 100
    2 "textstrings"
    3 true
    4 null
    5 {
    6     "name":"leeho",
    7     "age":13
    8 }
    9 [123,"strings","null"]

    一般格式为

    [{"name":"a","age":34},{"name":"f","age":23}]

     用JavaScript 代码模拟加载一个JSON 文件

    并检测浏览器是否支持JSON 对象

    1 //模拟加载json文件
    2 var json='[{"name":"a","age":34},{"name":"f","age":23}]';
    3 //测试浏览器是否支持alert(typeof JSON);

    解析函数parse两种用法示例

    //解析函数parse参数示例
    //直接调用
    var box=JSON.parse(json);
    //带第二个参数,用于更改解析内容,即JSON 数组中某个对象的键值对的值
    var box=JSON.parse(json,function(name,value){
         if(name=='name')
        return this.name+'yubo';
        else
             return value;
    });
    alert(box[0].name);

     序列化函数三种用法示例,也可以在需要序列化的JavaScript 代码中定义成员函数toJSON,作为键值对

    筛选出需要序列化的某组键值对;

    //序列化
    var box2=[{name:"ty",age:10},{name:"yugoo",
    //选定对象中可以被序列化的成员,过滤对象成员
    age:66,
    toJSON:function()
    {return this.age;}}];
    //stringify参数用法
    //不带参数序列化
    var s=JSON.stringify(box2);
    //指定第二个参数,筛选需要序列化的对象成员,用数组表示
    var s=JSON.stringify(box2,['age']);
    //第二个参数是函数可以更改键值对中的值
    var s=JSON.stringify(box2,function(key,value){
        
        if(key=='name')
        return 'mr.'+value;
        else
        return value;
        });
    //指定序列化后json文本格式缩进对齐程度
      var s=JSON.stringify(box2,null,4);
    
        
    alert(s);
  • 相关阅读:
    [IT学习]Python pandas 学习
    [IT学习]Python 小项目 通讯录 思路
    [IT学习]学习Python过程需要记忆的一些坑
    【线性结构】A1074Reversing Linked List
    【线性结构】一元多项式的乘法与加法运算
    【线性结构】两个有序链表序列的合并
    C/C++中函数参数传递的三种情况(p *p &p)
    解决pip安装包的时候超时失败(很多红色错误)的问题
    A1012The Best Rank
    B1015/A1062德才论
  • 原文地址:https://www.cnblogs.com/liyu2012/p/5453662.html
Copyright © 2011-2022 走看看