zoukankan      html  css  js  c++  java
  • 对于json的简单理解

    什么是json

    js红宝书上描述到:

    json是一种数据格式,不是编程语言,它不属于javaScript,他们只是有着相同的语法,json也不止可以在js中使用

    json语法

    json语法有三种类型的值

    1、简单值:字符串、数值、布尔型、null

    2、对象:第一种复杂类型数据

    3、数组:第二种复杂类型数据,数值的值可以是任意类型,包括简单值、对象、其他数组

    json没有变量、函数、对象实列的概念

    json字符串和js字符串的最主要的区别就是,json字符串必须使用双引号(单引号会导致语法错误)

    json对象和js对象的区别:

    js对象

    let person{
     name:"tom",
     age:"20"
    };
    

    json对象

    {
    "name":"alice",
    "age":"20"
    }
    

    可以看出,json对象没有变量声明(json种没有变量)、没有分号(json不属于js语句)、属性必须双引号包裹起来

    json的解析与序列化

    在json对象种有两个方法

    stringify()、parse()

    stringify():可以把js序列转换为json字符串.

    parse():可以把json解析为原生的js值

    json.stringify()还可以接收两个参数,第一个参数是过滤器,可以是数组或函数,第二个参数用于缩进结果JSON字符串的选项。

    let book={
    title: "LOL",
    authors:[
    "tom",
    "mody"
    ],
    edition: 4,
    year: 2017
    };
    let jsonText=JSON.stringify(book,["title","edition"]);
    
    //控制字符缩进
    let jsonText=JSON.stringify(book,null,4)
    
    
    {"title:"LOL","edition":4}
    

    对于需要在JSON.stringify()之上自定义JSON序列化,可以用到toJSON()方法

    就是把js数据转换为json数据

    把json数据转化为JS数据: JSON.parse()

  • 相关阅读:
    favicon.ico请求处理
    Node.js学习(Node.js基础)
    实现主机访问虚拟机网页的方法总结
    有向/无向图中搜环
    后缀自动机
    莫队算法
    A* 算法求第k短路径
    次小生成树算法
    AC自动机详解
    Link-Cut-Tree详解
  • 原文地址:https://www.cnblogs.com/AFBF/p/14836493.html
Copyright © 2011-2022 走看看