Json学习笔记之Json语法规则

官网:https://www.json.org/json-zh.html

教程:https://www.w3school.com.cn/json/index.asp

什么是Json?

   一种简单的描述数据的文本格式。

 

Json能用来干嘛

我们可以通过Json来表示面向对象编程中的对象、数组以及基本数据类型(整型、浮点型···)。通过调用面向对象编程语言(如C#)中的一些方法,可以将Json文件中的文本转化为一个具体的对象,或者将一个对象转化为Json文件中的文本。

 

用Json的好处

  1.格式简单。轻量,体积小,便于传输。

  2.大部分语言、平台提供Json文件解析方法。解析方便,复用率高。

 

语法规则

在Json文本中我们能够表示两种结构:①对象(这里更像是结构体变量) ②数组。这两种结构在不同语言上称呼可能不同,但在本质是一样的:①键值对的集合  ②值的有序列表。

1.基本数据类型

  在Json中使用键值对的方式来表示基本数据类型: "变量名" : 变量值 。键值对之间用逗号隔开。如:

  "name":"Jack" 表示 一个名字为name,值为Jack的字符串。

  "name":"Jack" , "age":24 表示两个变量,其中第二个变量是值为24的整型变量。

  可见,键值对的具体数据类型隐藏在了值上

  值的类型可以为

    • 数字(整数或浮点数)
    • 字符串(在双引号中,可以使用转义字符)
    • 逻辑值(true 或 false)
    • 数组(在方括号中)
    • 对象(在花括号中)
    • null

 

2.对象

  在Json中,对象用花括号{}表示,对象是键值对的集合,键值对之间用逗号隔开。如:

  {"name":"Jack" , "age":24} 即表示含有两个属性的对象

 

3.数组

  在Json中,数组用方括号[]表示,数组是(不是键值对)的集合,值之间用逗号隔开。与C语言中的数组定义不同,这里一个数组可以包含不同类型的值,如:

[
    12,
    34,
    56,
    "abc"
]

 

4.嵌套使用上述类型

[
    {"name":"J","age":24},
    {"name":"a" , "age":23},
    {"name":"c" , "age":25}
]

  上述文本表示含有三个对象的数组。

{
  "member":[
    {"name":"J","age":24},
    {"name":"a" , "age":23},
    {"name":"c" , "age":25}
  ]
}

  上述文本表示含有一个数组的对象,其中那个数组又含有三个对象,且数组名为member。

 

 

注意前面提到,Json能够表示对象和数组这两种结构。实际上,Json也必须表示为这两种结构之一。也就是说,Json的最外层必须是一个对象或者数组。即json文件中所有文本必须是以 { 开头 以} 结尾,或者以 [ 开头以 ] 结尾。

posted @ 2021-04-08 16:17  一白梦人  阅读(688)  评论(0编辑  收藏  举报