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);
  • 相关阅读:
    启动hadoop 2.6遇到的datanode启动不了
    .net开发遇到的一个问题
    there are 0 datanode.....
    更改HDFS权限
    VMware提示:已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。解决方案
    Hive学习
    linux下mysql安装
    (5.2)mysql高可用系列——测试环境部署
    【转】mysql索引的探究
    【3.1】【mysql基本实验】mysql复制(主从复制/异步复制/半同步复制,一主一从)
  • 原文地址:https://www.cnblogs.com/liyu2012/p/5453662.html
Copyright © 2011-2022 走看看