简单对象
simple-object.json
小型对象,便于检查键名、字符串、数字和布尔值。
93 B · 数据记录数: 1
预览片段
{
"id": 1,
"name": "Example Project",
"enabled": true,
"email": "test@example.com"
}
直接下载现成的 JSON 样例,用于上传检查、API 模拟、导入实验和解析器测试。小型样例是真实的静态下载文件,便于多次测试复用相同输入。下载前可展开预览片段,也可复制完整文件内容。1 MB 和 5 MB 大文件在需要时由浏览器本地生成。所有记录均为虚构测试数据,example.com 邮箱不对应真实个人。
simple-object.json
小型对象,便于检查键名、字符串、数字和布尔值。
93 B · 数据记录数: 1
{
"id": 1,
"name": "Example Project",
"enabled": true,
"email": "test@example.com"
}
users-20.json
用户数组,邮箱均使用 example.com。
2.1 KB · 数据记录数: 20
[
{
"id": 1,
"name": "Example User 1",
"email": "user1@example.com",
"active": false
},
{
"id": 2,
"name": "Example User 2",
"email": "user2@example.com",
"active": true
},
{
"id": 3,
"name": "Example User 3",
"email": "user3@example.com",
"active": false
},
{
"id": 4,
"name": "Example User 4",
"email": "user4@example.com",
"active": true
},
{
"id": 5,
"name": "Example User 5",
"email": "user5@example.com",
"active": false
},
{
"id": 6,
"name": "Example User 6",
"email": "user6@example.com",
"active": true
},
{
"id": 7,
"name": "Example User 7",
"email": "user7@example.com",
"active": false
},
{
"id": 8,
"name": "Example User 8",
"email": "user8@example.com",
"active": true
},
{
"id": 9,
"name": "Example User 9",
"email": "user9@example.com",
"active": false
},
{
"id": 10,
"name": "Example User 10",nested-orders.json
订单中包含数组、空值、布尔值、数字和 Unicode 文本。
766 B · 数据记录数: 2
{
"fixture": "Fictional test data",
"orders": [
{
"id": "TEST-001",
"customer": {
"id": 1,
"name": "Example User 1",
"email": "user1@example.com",
"active": false
},
"paid": true,
"coupon": null,
"total": 42.5,
"currency": "EUR",
"notes": "Unicode test: 你好 · café · テスト",
"items": [
{
"sku": "DEMO-A",
"quantity": 2,
"price": 21.25
}
]
},
{
"id": "TEST-002",
"customer": {
"id": 2,
"name": "Example User 2",
"email": "user2@example.com",
"active": true
},
"paid": false,
"coupon": "DEMO",
"total": 0,
"items": []
}
]
}
locations.geojson
包含虚构地理要素的 FeatureCollection。
596 B · 数据记录数: 2
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
0,
0
]
},
"properties": {
"name": "Fictional Origin",
"test": true
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
0,
0
],
[
1,
1
]
]
},
"properties": {
"name": "Fictional Route"
}
}
]
}
events.jsonl
每行一个虚构事件,需逐行解析。
813 B · 数据记录数: 6
{"event":"test_event_1","user":{"id":1,"name":"Example User 1","email":"user1@example.com","active":false},"at":"2026-01-01T00:00:00Z"}
{"event":"test_event_2","user":{"id":2,"name":"Example User 2","email":"user2@example.com","active":true},"at":"2026-01-01T00:00:01Z"}
{"event":"test_event_3","user":{"id":3,"name":"Example User 3","email":"user3@example.com","active":false},"at":"2026-01-01T00:00:02Z"}
{"event":"test_event_4","user":{"id":4,"name":"Example User 4","email":"user4@example.com","active":true},"at":"2026-01-01T00:00:03Z"}
{"event":"test_event_5","user":{"id":5,"name":"Example User 5","email":"user5@example.com","active":false},"at":"2026-01-01T00:00:04Z"}
{"event":"test_event_6","user":{"id":6,"name":"Example User 6","email":"user6@example.com","active":true},"at":"2026-01-01T00:00:05Z"}
intentionally-invalid.json
故意破坏语法的文件,用于测试解析报错。
97 B · 数据记录数: 1
故意无效的 JSON,仅用于测试解析报错
{
"purpose": "Intentionally invalid JSON for parser error testing",
"trailingComma": true,
}
sample-1mb.json
1,000 条虚构记录加填充字符串,在本地生成。
~1 MB · 数据记录数: 1,000
在当前浏览器中本地生成
sample-5mb.json
5,000 条虚构记录加填充字符串,在本地生成。
~5 MB · 数据记录数: 5,000
在当前浏览器中本地生成
根据需要测试的行为选择合适的样例。
一个 JSON 文档只有一个顶层值。简单对象演示具名属性,用户列表演示记录数组,嵌套订单则包含数组、数字、布尔值、null 和 Unicode 文本。如果导入器要求数组,它可能拒绝语法完全有效的对象。应选择最接近待测接口约定的文件,并检查实际下载内容,不要认为所有 .json 文件的结构都一样。
GeoJSON 在 JSON 语法之上约定地理结构,例如 FeatureCollection 和坐标数组。JSON 解析成功只证明语法有效,不证明坐标或几何满足地图应用要求。JSON Lines 使用 .jsonl 扩展名,每行存放一个 JSON 值,应逐行读取;如果把整个文件当成单个 JSON 文档解析,遇到下一条记录时就会失败。
标有“无效 JSON”的文件故意包含语法错误,用于测试错误提示和拒绝路径,应与成功导入样例分开。可记录预期行为:显示解析错误、不写入部分数据、换用有效文件后仍可重试。不要把故意无效的样例复制成生产配置,也不要把解析失败误判为上传传输失败。
静态小文件的字节内容保持一致,方便复现问题。大文件主要用于测试上传限制、解析耗时、内存和界面响应。1 MB 与 5 MB 文件按需生成,分别含 1,000 和 5,000 条虚构记录,并通过填充字符串补足大小。文件大小并不直接代表结构复杂度或有效业务数据量,应结合记录数一起理解。
先用小文件核对结构,再逐步测试更大的输入。
根据需求选择对象、数组、嵌套订单、地理集合或逐行事件流。结合文件名、大小、记录数和预览确认样例。预览只展示片段,并不包含每个字节;要检查完整结构,请下载文件或复制完整内容。
小文件使用直接下载链接,大文件先生成,再点击出现的下载链接。用文本编辑器查看,并使用应用实际采用的解析器测试。除明确标注无效的文件外,普通 JSON 应作为一个文档解析;JSON Lines 则应逐行解析非空行。
一次只测试一种行为,并记录样例名称。例如先确认嵌套订单中 null 和 false 不会混淆,再测试 5 MB 上传。如果需要不同数量的随机用户类记录,应使用 JSON 文件生成器,而不是修改固定样例后继续把它当作原始文件。
了解样例文件的适用范围与使用限制。
不包含。姓名、标识符、订单和联系字段都是开发用虚构示例,邮箱使用 example.com。它们用来展示结构,不是生产数据脱敏集、业务基准,也不证明应用已满足隐私要求。报告问题时可附上该样例,而不必提供客户导出数据。
JSON 语法与应用的数据模式是两层校验。导入器可能要求特定属性名、数组根节点、指定格式的日期字符串,或一定范围内的数字标识符。语法有效的文件仍可能不符合这些规则。应对照接收系统的约定,并把模式校验错误与 JSON 语法错误分别报告。
应对每个非空行分别调用解析。JSONL 是一连串 JSON 值,并不是通过逗号连接的一个数组。这里的小型样例可以按行拆分,处理很大文件时更适合流式读取。如果应用只接受单个 JSON 数组,请改用用户数组样例。
小型样例是公开静态文件,由下载链接直接提供;大文件在用户请求后于浏览器中组装,无需上传源文件。下载静态样例仍属于正常网页请求。之后若上传到其他应用,则是另一项操作,适用该应用的处理规则。
复制按钮读取并复制完整静态文件,而不仅是屏幕中显示的预览片段。预览便于快速了解结构。若要核对字节大小、保留文件名或进行可复现的文件上传测试,应下载原文件;剪贴板中的文本不能代替文件的字节级验证。
需要固定随机记录结构、指定记录数或目标大小时,可使用 JSON 文件生成器。要改变格式,可使用 JSON 转 YAML;YAML 转 JSON 则提供反向流程。转换只改变表示形式,应继续在目标应用中验证;它不会补齐业务字段,也不等于自定义模式校验。
此工具的一些实用用法。
探索其他转换或文件处理工具。