zoukankan      html  css  js  c++  java
  • JSON详解

    首先要知道JSON是一种轻量级的数据格式,不是一种编程语言,因此其他语言也可以使用。

    一、JSON语法

    JSON语法可以表现为下面三种值:

      1.简单值:字符串、数值、布尔值和null,如"hello json",3,false,null。但是JSON不支持undefined

      2.对象:一种复杂的数据类型,表示的是一组无序的键值对,栗子如下:

    1 {
    2     "name":"guozhu",
    3     "age":234     "hobby":{
    5         "sport":"bicyle",
    6         "music":"guoge"
    7     }
    8 }//每个键值对中的值可以是简单值也可以是复杂数据类型的值

      3.数组:与对象一样也是复杂的数据类型,但是它表示的是一组有序的列表,因此可以通过索引值来访问。  

    [
        "xiaohua",23,{
            "hobby":"bicyle",
            "eat":"apple"
        }
    ]//数组的值可以是简单值、复杂数据类型的值

    二、JSON与JS

    相同点:JSON简单值与JS语法相同

    不同点:1.JSON字符串与JS字符串区别在于JSON字符串必须使用双引号

        2.JSON对象没有声明变量、没有末尾分号且对象的属性必须加双引号

        3.JSON数组与JSON对象一样没有变量和分号

    三、JSON.stringify()方法

    stringify()方法用于将JS对象转化为JSON字符串,此方法有三个参数:第一个参数JS对象、第二个参数过滤器、第三个参数是一个选项表示是否在JSON字符串中保留缩进

    1 // JS对象
    2 var person = {
    3     name:"xiaohua",
    4     age:19
    5 }
    6 var joPerson = JSON.stringify(person);
    7 console.log(joPerson);//{"name":"xiaohua","age":19}

    上面代码只传入JS对象,打印结果已注释出来,可以看到stringify()输出的JSON字符串不包含空格字符或缩进

    现在传入第二个参数过滤器(可以是一个数组或函数)打印一下

    1 var person = {
    2     name:"xiaohua",
    3     age:19,
    4 }
    5 var joPerson = JSON.stringify(person,["age"]);
    6 console.log(joPerson)//{"age":19}

    上面代码第二个参数传入的是一个数组,其中有一个字符串与person对象的属性相对应,打印出来的结果也只包含与其对应属性的值

    现在传入第三个参数(数值或字符串)用于缩进

    1 var person = {
    2     name:"xiaohua",
    3     age:19,
    4 }
    5 var joPerson = JSON.stringify(person,null,"**");
    6 console.log(joPerson);

    打印出来的结果如下图

    如上面代码传入的是一个字符串而非数值,则这个字符串在打印出来的JSON字符串中被用作缩进字符串

    四、JSON.parse()方法

    该方法用于将JSON字符串解析成JS对象

    1 var person = {
    2     name:"xiaohua",
    3     age:19,
    4 }
    5  var joPerson = JSON.stringify(person);
    6 console.log(joPerson);//{"name":"xiaohua","age":19}
    7 var jsPerson = JSON.parse(joPerson);
    8 console.log(jsPerson);

    上面代码先用JSON.stringify()方法将person对象转换成JSON字符串,再利用JSON.parse()方法将joPerson(JSON字符串)转换成JS对象

    小结:

    1.JSON是一个轻量级的数据格式

    2.JSON使用JavaScript语法的子集表示对象、数组、字符串、数值、布尔值和null

    3.JSON.stringify()方法将JS对象转换成JSON字符串

    4.JSON.parse()方法将JSON字符串转换成JS对象

  • 相关阅读:
    6 、 图论—NP 搜索
    5 、 数值计算
    4 、 数论
    3 、 结构
    2 、 组合
    1 、 几何
    Dikstra 堆优化板子
    SPFA板子
    C++优先队列例子
    一些类使用的模板
  • 原文地址:https://www.cnblogs.com/daicunya/p/6166472.html
Copyright © 2011-2022 走看看