json语法规则是什么?json语法详解

阳光 2021-12-22 15:45:19 java常见问答 4776

JSON具有自我描述性,很容易理解,是一种轻量级的数据交换格式,JSON解析器和JSON库支持不同的编程语言,那json语法规则是什么?下面来我们就来给大家讲解一下json语法。

语法规则:

数据在键 数据在键 /值对中 值对中

数据由逗号分隔 数据由逗号分隔 数据由逗号分隔

{花括号 }保存对象 保存对象

[方括号 ]保存数组 保存数组

JSON 键/值对:

JSON 数据的书写格式是:key:value键值对。

比如: "Name" : "mianmian"

JSON 值可以是:

数字(整或浮点)

字符串(在双引号中)

逻辑值(true 或 false )

数组(在方括号中)

对象(在花括号中)

null

JSON 数字:

"status_code":200

JSON 字符串:

"Name" : "mianmian"

JSON 逻辑值:

"result":true

JSON 数组:

"user":["mianmian","ll123","zzzaaa"]

JSON 对象:

JSON 对象在花括号中书写: 对象可以包含多个键/值对:

{ "firstName":"John" , "lastName":"Doe" }

Tips:在接口测试过程中,一般都是返回 JSON 对象类型。

JSON 数据嵌套:

比如在数组中含多个对象:

{ "employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" } ]
}

在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。

JSON 数据解析 :

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个方法:

json.dumps(): 将 python 数据转化为 Json 数据

json.loads(): 将 json 数据类型转为 Python 数据类型

json.dumps()

将 python 数据转化为 Json 数据 json_dumps.py

import json
data={'id':1,'name':'mianmian','password':'123456'} print(type(data))
json_str=json.dumps(data)print(type(json_str)) print(json_str)

输出结果:

{"password": "123456", "id": 1, "name": "mianmian"}
json.loads()

将 json 数据类型转为 Python 数据类型 json_loads.py

import json
json_str='{"id":1,"name":"mianmina","password":"123456"}'
data=json.loads(json_str) print(type(json_str)) print(type(data)) print(data) 
print(data['id']) print(data['name'])

输出结果:

{'name': 'mianmina', 'password': '123456', 'id': 1} 
mianmina

Json 文件处理 :

有时我们可能需要将 JSON 数据写入到文件,或者从 Json 数据文件读取数据

# 写入 JSON 数据到文件

with open('data.json', 'w') as f:

json.dump(data, f)

# 读取 JSON数据文件

with open('data.json', 'r') as f:

data = json.load(f)

Json是主流的数据格式,采用完全独立于编程语言的文本格式来存储和表示数据,方便大家的读写,不过在使用过程中需要遵守json的语法规则,合理使用!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

java有哪些数据结构面试题?java常用数据结构面试题

java系统架构如何设计?java系统架构设计详解

java主函数怎么写?java主函数有什么特殊之处?