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()

  • 相关阅读:
    JavaWeb--HttpSession案例
    codeforces B. Balls Game 解题报告
    hdu 1711 Number Sequence 解题报告
    codeforces B. Online Meeting 解题报告
    ZOJ 3706 Break Standard Weight 解题报告
    codeforces C. Magic Formulas 解题报告
    codeforces B. Sereja and Mirroring 解题报告
    zoj 1109 Language of FatMouse 解题报告
    hdu 1361.Parencodings 解题报告
    hdu 1004 Let the Balloon Rise 解题报告
  • 原文地址:https://www.cnblogs.com/AFBF/p/14836493.html
Copyright © 2011-2022 走看看