json 基础知识

本文介绍了JSON数据格式的三种类型:简单值、对象和数组,并详细解释了如何使用JavaScript中的eval(), JSON.stringify() 和 JSON.parse() 方法来处理这些数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法(可以表示三种类型的值):

 

  1.简单值:字符串、数值、布尔值、null ;不支持undefined

     注意:json的字符串必须使用双引号 ‘chenzhijie’

 

  2.对象:无序的键值对

    Json对象.和js对象字面量的区别:没有声明变量 、没有末尾的分号、对象的属性加双引号

      例:{

         “name”: ”chenzhijie” ,

     “age” : 25

}

 

 3. 数组:有序的值得列表 ,可以是简单值、对象或数组

 

  注意:Json数组也没有变量和分号

       数组和对象可以组合

 

json对象

 

  1.  eval( )函数 可以解析、解释并返回js对象和数组

  2. JSON.stringify() : 把js对象序列化为一个json字符串

               值为undefined的属性会被跳过

      三个参数:  要序列化的对象、过滤器(数组或函数)、选项(是否在json字符串中保留缩进)

                  1.参数中的函数:接受两个参数 属性(键)名、属性值

                   注意:如果函数返回了undefined ,则相应的属性会被忽略

                   var book={

                                                 title:"chenzhijie",

                                                 authors:[

                                                    "czj"

                                                  ],

                                                  edition:3,

                                                  year:2017

 

                                            };

 

                                            varjsonText=JSON.stringify(book,function(key,value){

                                              switch(key){

                                                 case "authors":

                                                    return value.join(",");

 

                                                 case "edition":

                                                    return undefined;

                                                 case "year":

                                                    return 5000;

                                                 default:

                                                    return value;

                                               }

                                            });

                                            alert(jsonText);//{"title":"chenzhijie","authors":"czj","year":5000}

 

                  2. 参数中的选项:用于控制结果中的缩进和空白符

                      可以使数值或者字符串  ,长度不能超过10

                  序列化对象的顺序:

              1. 如果存在toJSON() 方法,而且能通过它返回有效的值,则调用该方法,否则返回对象本身

                   2. 如果有第二个参数,则应用这个过滤器,value是第一步返回的值

                   3. 对第二步返回的值进行相应的格式化

                   4. 如果提供了第三个参数,执行相应的格式化

                    

 3.  JSON.parse() : json转化为相应的js 值

           两个参数:要解析的对象、还原函数

            还原函数:接收两个参数 键和值  返回一个值,如果返回undefined,则删除相应的键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值