两分钟快速了解 Json是什么

Json

JSON 是一种轻量级的数据交换格式。采用独立于编程语言的文本格式来存储和表示数据 。其简洁和清晰的层次结构使得 JSON 成为了理想的数据交换语言;其易于人阅读和编写,同时易于机器解析和生成,可以有效的提高网络传输效率。

Json 是一种数据格式 ,和语言无关。基于此种数据格式,常用于:

  1. 组织数据(数据序列化) ,用于网络传输
  2. 组织数据(数据序列化),写磁盘文件 实现数据的持久话存储(.json后缀);

Json 中主要有两种数据格式: Json 数组Json 对象,此两种格式可以交叉嵌套使用。

1.Json数组

Json数组使用 [] 表示,[] 里是元素,元素之间通过逗号间隔。**一个 Json 数组支持同时存在不同类型的成员,包括: **整型、浮点、字符串、布尔类型、json数组、json对象、空值-null 。Json 数组使用非常灵活;

  • Json 数组中的元素数据类型一致
//整形
[1,2,3,4]
//字符串
["靓仔""精神小伙""土狗"]
  • Json 数组数据类型不一致
//和python 很像
[123,"靓仔"3.14true ,null]
  • Json 数组中数组嵌套使用
[
    ["张三",123,true,3.2 ,null],
    [1,23,"hello world"],
    ["李四",666]
]
  • Json 数组和对象嵌套使用
[
    {
        "liu":{
            "age":18,
            "high":180
            "money":180000000
        }
    }
]

2.Json 对象

Json 对象使用{} 来描述,每个 Json 对象中可以存储若干个元素,每个元素对应一个键值对 (key :value),元素之间使用逗号间隔。

每个元素中的键值对需要注意:

  1. 键值(key)必须是字符串,位于同一层级的键值不要重复(因为通过键值读取对应 value 值);
  2. value 的类型是可选的,可根据实际需求指定,类型:整型、浮点、字符串、布尔类型、json数组、json对象、空值-null;

使用 Json 对象描述一个人信息:

{
    "Name":"Ace",
    "Sex":"man",
    "Age":20,
    "Family":{
        "Father":"Gol·D·Roger",
        "Mother":"Portgas·D·Rouge",
        "Brother":["Sabo", "Monkey D. Luffy"]
    },
    "IsAlive":false,
    "Comment":"yyds"
}

3.注意事项

Json 结构虽然简单,但是再嵌套之后可以用于描述很复杂的信息,在实际使用中通常需要我们根据实际需求自定义 Json 格式用于存储项目数据;

当需要将 Json 数据持久存储在磁盘文件中, 注意:在一个 Json 文件中只能有一个 Json数组或Json对象的根节点 ,不允许同时存储多个并列的根节点;

错误写法:

// test.json
{
    "name":"luffy",
    "age":19
}
{
    "user":"ace",
    "passwd":"123456"
}

错误原因:在一个Json文件中只能有一个 Json根节点;


正确写法:

// test.json
{
    "Name":"Ace",
    "Sex":"man",
    "Age":20,
    "Family":{
        "Father":"Gol·D·Roger",
        "Mother":"Portgas·D·Rouge",
        "Brother":["Sabo", "Monkey D. Luffy"]
    },
    "IsAlive":false,
    "Comment":"yyds"
}

在上面的例子中通过Json对象以及Json数组的嵌套描述了一个人的身份信息,并且根节点只有一个就是Json对象,如果还需要使用Json数组或者Json对象描述其他信息,需要将这些信息写入到其他文件中,不要和这个Json对象并列写入到同一个文件里边;

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
11-01 4万+

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值