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);
  • 相关阅读:
    solr
    2.配置Flutter代码编辑器(IDE)
    1.Flutter的下载安装和环境配置
    ReactNative开发环境配置,新手踩坑必备.我也是新手
    汉字转拼音,获取汉字首字母
    For循环性能优化
    JavaScript滑块简易取色器
    C# 获取汉字拼音首字母(修正X问题,真正修正)
    团队项目-个人博客5.31
    团队项目-个人博客5.30
  • 原文地址:https://www.cnblogs.com/liyu2012/p/5453662.html
Copyright © 2011-2022 走看看