zoukankan      html  css  js  c++  java
  • JSON基本概念及使用

    JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。

    1. JSON数据基本类型

    JSON实际上是JavaScript的一个子集。在JSON中,一共就这么几种数据类型:

    • number:和JavaScript的number完全一致;

    • boolean:就是JavaScript的truefalse

    • string:就是JavaScript的string

    • null:就是JavaScript的null

    • array:就是JavaScript的Array表示方式——[]

    • object:就是JavaScript的{ ... }表示方式。

    以及上面的任意组合。

    并且,JSON还定死了字符集必须是UTF-8,表示多语言就没有问题了。为了统一解析,JSON的字符串规定必须用双引号"",Object的键也必须用双引号""

    2. JSON数据结构

    JSON结构共有2种:
    (1)对象结构;
    (2)数组结构;

       2.1、对象结构
    对象结构是使用大括号“{}”括起来的,大括号内是由0个或多个用英文逗号分隔的“关键字:值”对(key:value)构成的。
      语法:

    var jsonObj =
    {
        "键名1":值1,
        "键名2":值2,
        ……
        "键名n":值n
    }

      说明:
    jsonObj指的是json对象。对象结构是以“{”开始,到“}”结束。其中“键名”和“值”之间用英文冒号构成对,两个“键名:值”之间用英文逗号分隔。
    注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。

       2.2、JSON数组结构
    JSON数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。
      语法:

    var arr =
    [
        {
            "键名1":值1,
            "键名2":值2
        },
        {
            "键名3":值3,
            "键名4":值4
        },
        ……
    ]

      说明:
    arr指的是json数组。数组结构是以“[”开始,到“]”结束,这一点跟JSON对象不同。在JSON数组中,每一对“{}”相当于一个JSON对象。而且语法都非常类似。
    注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。

      综合示例:

    {
        "name":"臧小峰",
        "age":22,
        "birthday":"1999-11-22",
        "school":"Qinghua University",
        "major":["sing","coding"],
        "girlfriend":true,
        "car":null,
        "friend":{
            "name":"臧大峰",
            "age":22,
            "birthday":"1999-11-22",
            "school":"Beijing University",
        },
        "comment":"JSON里不能直接使用注释,需要添加时可通过此方式。。"
     }

    JSON有两种数据:1.无序的对象结构;2.有序的数组结构

    1.无序的对象结构
     无序的对象结构在不同语言中称法不同,比如在Python中称为字典,在JS中称为JSON对象……
     总之就是键/值对组合形式。

    2.有序的数组结构
     将数组作为有序数组进行转换JSON,就可以得到有序的JSON数组结构。

  • 相关阅读:
    1260. [CQOI2007]涂色【区间DP】
    2733. [HNOI2012]永无乡【平衡树-splay】
    1087. [SCOI2005]互不侵犯King【状压DP】
    1026. [SCOI2009]windy数【数位DP】
    1066. [SCOI2007]蜥蜴【最大流】
    luogu P2776 [SDOI2007]小组队列
    cogs 717. [SDOI2007] 小组队列
    luogu P1160 队列安排
    2612. [FHZOI 2017]被窃的项链
    codevs 3336 电话网络 (2)
  • 原文地址:https://www.cnblogs.com/zjfjava/p/6842006.html
Copyright © 2011-2022 走看看