软件测试: 从入门到实践(json数据格式)

JSON引入

相信大家只要深入了解过一门面向对象编程语言应该就知道什么是json

大多数人脑子里想出来的第一个应该长这样

复制代码
{
    "name":"zjk",
    "age":20,
    "gender":1,
    "friends":["赵云","黄忠","马超","关羽","赵云"]
}

我在做软件测试的时候遇到一个人的测试用例这样写: 我把它简化抽象为一个简单的案例:

可以看到这里的json格式和我们心里的第一反应想到的是截然不同的

JSON概念

JSON的是JavaScript 对象表示法的缩写

json并不是哪一门编程语言的专利,它是从 JavaScript 的对象写法中抽象出来的一种"通用数据格式"

就像:

  • Word 文档有格式

  • Excel 有表格规则

  • JSON 有数据规则

JSON数据类型

JSON 中只允许 6 种数据类型


字符串(String)

"abc"

规则:

  • 必须用 双引号

  • 单引号

合法
'abc'是不合法的json格式


数字(Number)

123 3.14

  • 整数、小数都行

  • 不能写表达式

1+2是错误的json格式


布尔值(Boolean)

true false

全小写!


空值(null)

null

不是字符串 "null"


数组(Array)

一组有顺序的数据

[1, 2, 3]

可以嵌套:

[[1,2,3],[4,5,6]]

你之前看到的:

[[1,2,3],[2,3,4],[2,2,2]]

是合法的JSON类型


对象(Object)

键值对集合

{ "name": "tom", "age": 18 }

规则:

  • key 必须是字符串

  • key 必须加 双引号

  • 用冒号 : 连接

JSON 可以单独存在吗?

答案:可以,而且你之前已经踩到这里了

这些 全部都是 JSON

"abc"

[1,2,3]

{ "a": 1 }

JSON 不要求最外层一定是对象


JSON 不能写什么?

不能写代码

add(1,2)


不能写变量

x


不能写注释(标准 JSON)

{ "a": 1 // }


不能省略 key 的引号

{ a: 1 }

json格式判断例题

题目 1 "hello"

题目 2 123

题目 3 [1, 2, 3]

题目 4 {"a": 1}

题目 5 {'a': 1}

题目 6 { "a": 1, "b": 2, }

题目 7 [ [1,2], [3,4] ]

题目 8 { "a": true, "b": false, "c": null }

题目 9 { a: 1 }

题目 10 // test data { "a": 1 }

题目 11 [1 + 2, 3]

题目 12 { "a": "123" }

题目 13 [[1,2,3],[2,3,4],[2,2,2]]

题目 14 null

题目 15 true

答案

1️⃣ ✔

2️⃣ ✔

3️⃣ ✔

4️⃣ ✔

5️⃣ ✘(单引号)

6️⃣ ✘(多了尾逗号)

7️⃣ ✔

8️⃣ ✔

9️⃣ ✘(key 必须加双引号)

🔟 ✘(JSON 不允许注释)

1️⃣1️⃣ ✘(不能写表达式)

1️⃣2️⃣ ✔(字符串)

1️⃣3️⃣ ✔

1️⃣4️⃣ ✔

1️⃣5️⃣ ✔

相关推荐
Ajie'Blog19 小时前
MCP Server 接入 Claude Code 老是失败?从 stdio、路径和 JSON-RPC 开始排查
javascript·rpc·json
terry6002 天前
从流畅交互到高可用:企讯通Qcaptcha滑动拼图的毫秒级响应与容灾设计
web安全·json·asp.net·信息与通信·数据库架构
terry6002 天前
2026企业级携号转网查询标准:论实时数据同步与高并发承载设计
java·大数据·人工智能·json·信息与通信·数据库架构
㱘郳2 天前
VS Code 的setting.json的预配置
json
一拳小和尚LXY3 天前
我开发了一款免费 Chrome 插件 TabScribe:一键复制所有标签页为 Markdown/JSON,完全离线零追踪
前端·chrome·json
nap-joker3 天前
使用n8n+飞书搭建自动推送新闻机器人
javascript·json·飞书·工作流·n8n·36氪新闻向客户端推送
一只积极向上的小咸鱼3 天前
TOML、JSON、YAML、INI 配置文件格式总结
java·服务器·json
San813_LDD3 天前
[后端开发]GET/POST_带参/不带参
前端·后端·计算机网络·json
winfredzhang3 天前
Python 实战:用 wxPython 写一个 MD5 文件查重清理工具
python·sqlite·json·wxpython·md5·预览·查重