跳到主要内容

JSON 样例文件

直接下载现成的 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"
}

20 条虚构用户记录

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": []
    }
  ]
}

GeoJSON 地理集合

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"
      }
    }
  ]
}

JSON Lines 事件流

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"}

无效 JSON

intentionally-invalid.json

故意破坏语法的文件,用于测试解析报错。

97 B · 数据记录数: 1

故意无效的 JSON,仅用于测试解析报错

下载
预览片段
{
  "purpose": "Intentionally invalid JSON for parser error testing",
  "trailingComma": true,
}

大文件,按需生成

1 MB JSON 文件

sample-1mb.json

1,000 条虚构记录加填充字符串,在本地生成。

~1 MB · 数据记录数: 1,000

在当前浏览器中本地生成

5 MB JSON 文件

sample-5mb.json

5,000 条虚构记录加填充字符串,在本地生成。

~5 MB · 数据记录数: 5,000

在当前浏览器中本地生成

了解样例文件

根据需要测试的行为选择合适的样例。

先确认 JSON 的数据结构

一个 JSON 文档只有一个顶层值。简单对象演示具名属性,用户列表演示记录数组,嵌套订单则包含数组、数字、布尔值、null 和 Unicode 文本。如果导入器要求数组,它可能拒绝语法完全有效的对象。应选择最接近待测接口约定的文件,并检查实际下载内容,不要认为所有 .json 文件的结构都一样。

区分 JSON、GeoJSON 和 JSON Lines

GeoJSON 在 JSON 语法之上约定地理结构,例如 FeatureCollection 和坐标数组。JSON 解析成功只证明语法有效,不证明坐标或几何满足地图应用要求。JSON Lines 使用 .jsonl 扩展名,每行存放一个 JSON 值,应逐行读取;如果把整个文件当成单个 JSON 文档解析,遇到下一条记录时就会失败。

让错误测试有明确预期

标有“无效 JSON”的文件故意包含语法错误,用于测试错误提示和拒绝路径,应与成功导入样例分开。可记录预期行为:显示解析错误、不写入部分数据、换用有效文件后仍可重试。不要把故意无效的样例复制成生产配置,也不要把解析失败误判为上传传输失败。

先用固定样例,再测试大文件

静态小文件的字节内容保持一致,方便复现问题。大文件主要用于测试上传限制、解析耗时、内存和界面响应。1 MB 与 5 MB 文件按需生成,分别含 1,000 和 5,000 条虚构记录,并通过填充字符串补足大小。文件大小并不直接代表结构复杂度或有效业务数据量,应结合记录数一起理解。

如何使用这些文件

先用小文件核对结构,再逐步测试更大的输入。

  1. 1

    选择需要覆盖的输入约定

    根据需求选择对象、数组、嵌套订单、地理集合或逐行事件流。结合文件名、大小、记录数和预览确认样例。预览只展示片段,并不包含每个字节;要检查完整结构,请下载文件或复制完整内容。

  2. 2

    下载并在本地验证

    小文件使用直接下载链接,大文件先生成,再点击出现的下载链接。用文本编辑器查看,并使用应用实际采用的解析器测试。除明确标注无效的文件外,普通 JSON 应作为一个文档解析;JSON Lines 则应逐行解析非空行。

  3. 3

    记录每个用例的预期结果

    一次只测试一种行为,并记录样例名称。例如先确认嵌套订单中 null 和 false 不会混淆,再测试 5 MB 上传。如果需要不同数量的随机用户类记录,应使用 JSON 文件生成器,而不是修改固定样例后继续把它当作原始文件。

常见问题

了解样例文件的适用范围与使用限制。

常见使用场景

此工具的一些实用用法。

  • 在解析器问题报告中附上固定对象或嵌套订单样例,方便其他开发者复现相同输入。
  • 把上传成功、语法拒绝、模式拒绝分别作为测试用例,使用清晰的文件名。
  • 先检查 Unicode、null、布尔值和数组在界面中的显示,再测试更大的生成文件。

相关工具

探索其他转换或文件处理工具。