跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

Clumsy 网络故障模拟工具使用指南

Clumsy 是一款开源的网络故障模拟工具,用于在本地制造网络问题以测试程序容错性。支持延迟、丢包、限速等模拟功能。介绍其下载启动、界面功能、常用场景及测试体系搭建方法,涵盖本地服务、弱网环境及 TCP 连接健壮性测试,并提供参数设置参考与常见问题解答。

moshang发布于 2026/3/14更新于 2026/7/2462 浏览
Clumsy 网络故障模拟工具使用指南

一、Clumsy 是什么?

Clumsy 是一个开源的网络故障模拟工具,最早由一位名叫 Jagt 的开发者创建,发布在 GitHub 上。它的设计初衷非常直接明确——为开发者提供一种简单的方式,在本地制造网络问题,以测试程序的容错和健壮性。

Clumsy 的全名不是'Clumsy Network Simulator'之类的官方命名,而是源自英文单词 clumsy,意为'笨拙的、不灵活的',象征它有意'把你的网络搞砸',让一切连接变得不那么顺畅——这正是测试网络稳定性所需要的一部分。

二、为什么要用 Clumsy?

在开发和测试过程中,网络问题常常是'隐形杀手',因为网络问题不像功能 Bug 那样容易被发现——它不会立刻报错、也不一定复现得出来,但是一旦出现问题,往往更致命,比如:

  1. 在办公室测试一切正常,一交付用户就报卡顿、断连、消息延迟。
  2. 服务端日志莫名报错,排查发现是客户端没收到响应重试了三次。
  3. 游戏或视频类应用,在弱网下体验非常差,但本地测试根本无法还原现场。

这些问题直接影响用户体验甚至业务逻辑。所以,网络问题常常在你最不注意的地方悄悄埋雷,直到正式部署交付的时候才爆炸,把你从休息日炸出来修 BUG。

为了避免部署后出现突发问题,我们需要在开发和测试阶段尽可能的模拟一下用户实际的使用环境,并借助工具来模拟环境的异常情况,发现问题 - 解决问题,保证我们的程序能稳定运行。

为了模拟网络异常的环境,我们需要借助 Clumsy 这个工具来实现,它可以模拟现实中最常见、最麻烦的几种网络问题:网络延迟不稳定、丢包、接收不到消息、突发断网或断流、重复发送数据。。。并且它还有以下几个优势:

  1. 零门槛上手:无需安装,下载即用,不需要配置,不需要学复杂指令,勾选一下就能模拟网络问题。
  2. 真实又可控:你可以设置具体的延迟毫秒、丢包概率、影响范围(只影响某端口或全部流量)。
  3. 免费开源,体积小巧:完全开源,文件小于 1MB,携带方便,可放在 U 盘随身带。
  4. 用途广泛,不局限某类应用:适用于网页、客户端、游戏、音视频、物联网等各种应用场景,能够模拟局域网测试、调试云服务请求、检查网络协议容错等问题。

总之,Clumsy 是一个非常实用的'反面测试工具':它不是帮你证明系统能跑,而是帮你发现系统'跑不起来'的边界条件。

三、如何使用 Clumsy?

1. 下载和启动

访问 Clumsy 的 GitHub 页面:GitHub 链接

Clumsy 下载页面

点击图中的【Releases】

Releases 页面

根据系统版本下载对应的软件压缩包,解压后得到一个文件夹:

解压后文件夹

  1. License.txt:许可证文件。开源许可证声明,包含作者版权信息以及使用条款。主要用于遵循开源协议要求。
  2. clumsy.exe:应用程序 Clumsy 的主程序。双击它即可启动图形界面,无需安装。你所有的操作(模拟丢包、延迟等)都通过这个程序来完成。
  • config.txt:配置文件。一些可选的启动参数或默认设置,一般用户不需要修改。Clumsy 会读取这个文件以设置初始行为。
  • WinDivert.dll:动态链接库 Clumsy 所依赖的网络驱动接口库,内部用于拦截和修改网络数据包。Clumsy 本身通过它调用 WinDivert 的底层功能。
  • WinDivert64.sys:驱动文件 WinDivert 的内核驱动程序(64 位),用于捕获并处理网络数据包。Clumsy 启动时会加载它,必须存在,否则功能不可用。
  • 注意事项:

    • 必须保证 clumsy.exe、WinDivert.dll 和 WinDivert64.sys 在同一目录,否则软件会无法正常工作(会提示找不到驱动或捕获失败)。
    • 运行 Clumsy 需要管理员权限,否则系统层级的网络拦截不会生效(你会看到提示'请以管理员身份运行')。
    • 如果你的系统是 32 位的,需要相应的 WinDivert.sys 文件,而不是 WinDivert64.sys(在下载时请选择 32 位的版本)。

    2. 基本界面说明

    双击【clumsy.exe】启动软件,界面如下:

    Clumsy 主界面

    上图是 Clumsy 的主页面截图,可以看到它的界面主要分为三个部分:Filtering(过滤器)、Functions(功能选项)和 NOTICE(提示说明区域)

    2.1 Filtering: 过滤设置(过滤哪些流量)

    作用:告诉 Clumsy 需要对那些数据进行干扰(模拟异常)。

    组件:

    过滤设置组件

    输入框:可以输入过滤表达式,比如 udp and outbound、tcp port 8080、ip and not loopback。用于指定拦截哪些类型的流量。

    过滤表达式示例

    Presets: 快捷选择预设过滤条件,比如 localhost ipv4 all(本地 IPv4 所有流量)。初学者建议使用预设选项。 所由预设条件如下:

    预设项过滤表达式含义解释
    localhost ipv4 allip and loopback拦截所有本机 IPv4 回环地址的数据流(例如 127.0.0.1),适合本地服务测试。注意不支持 Inbound(Clumsy 限制)。
    localhost ipv4 tcptcp and loopback拦截本地回环中的 TCP 通信,例如本地运行的 Web 服务或 Socket 服务。
    localhost ipv4 udpudp and loopback拦截本地回环中的 UDP 通信,例如本地游戏模拟、UDP 服务。
    all sending packetsoutbound拦截所有发出的数据包(Outbound),适合模拟用户上传、请求 API、发消息等情形。
    all receiving packetsinbound拦截所有接收到的数据包(Inbound),适合测试服务器返回数据延迟、丢包等。
    all ipv4 against specific ip拦截发往或来自'特定 IP 地址'的所有 IPv4 数据流。可用于只干扰你测试服务器的通信。启动时会要求你输入 IP。
    tcp ipv4 against specific ip拦截对特定 IP 的 TCP 通信,例如访问某个 Web 接口、Socket 服务。
    udp ipv4 against specific ip拦截对特定 IP 的 UDP 通信,例如实时通话、UDP 游戏连接。
    all ipv4 against port拦截所有走特定端口的 IPv4 数据包。适合干扰单个应用端口,不影响其他服务。
    tcp ipv4 against port同上,但仅限于 TCP 协议。适合干扰特定 Web 服务、文件传输等。
    udp ipv4 against port同上,但仅限于 UDP 协议。适合干扰某个 UDP 服务(如聊天室、推流)。
    ipv6 all拦截所有 IPv6 流量,适合测试使用 IPv6 地址的服务。现在部分操作系统或应用默认走 IPv6。

    Start 按钮: 开始拦截并应用模拟效果,等于'运行'。修改完设置后要点这个才会生效。启动后 Start 按钮变为 Stop 按钮,点击 Stop 按钮可以停止拦截。

    Start 按钮

    Stop 按钮

    启动状态按钮前方的绿色指示灯会闪烁,表示网络拦截正在生效。

    2.2 Functions:功能模块(模拟哪些网络异常)

    功能模块

    这是 Clumsy 的核心功能区域,控制你希望模拟哪种网络问题。每项都可以单独启用,也可以多个一起组合使用。 每一行功能结构基本一致:

    • 复选框 ✅:是否启用该功能
    • Inbound / Outbound:应用于'入站 / 出站'数据包
    • 参数设置:延迟时间、丢包概率、限速值等
    功能名用途说明常用用途示例
    Lag模拟网络延迟,单位是毫秒(ms)测试加载时间、用户操作卡顿
    Drop模拟数据包丢失,设置丢包概率(%)测试消息丢失、重传机制
    Throttle控制吞吐速度,模拟带宽拥堵视频卡顿、文件慢传测试
    Duplicate模拟重复数据包,设置重复次数测试去重算法、消息唯一性
    Out of order模拟数据包乱序到达验证 TCP 或协议容错能力
    Tamper对网络传输中的数据包进行伪造或篡改一般用于测试系统是否对异常或恶意数据有防护能力
    Set TCP RST主动发送 TCP RST 包,强制中断连接模拟断线、强制退出
    Bandwidth限制带宽(单位 KB/s)模拟窄带网络(如 2G/3G)

    每项功能的右侧有多个可调参数,如:

    • Delay(ms): 延迟时间(如 Lag 使用)
    • Chance(%): 触发概率(如 Drop、Duplicate 等使用)
    • Limit(KB/s): 带宽限制数值(Bandwidth 使用)
    • Drop Throttled: 是否丢弃超出节流限制的数据包。如果勾选,超出速率的数据包会被直接丢弃;否则只是延迟发送。可以指定一个时间窗口,例如默认是 30ms,表示每 30 毫秒 Clumsy 会判断是否节流。
    • Count: 指定重复发送次数,Clumsy 将某个数据包复制指定份数发送。
    • Redo Checksum: 勾选后会重新计算并修复篡改后的校验和(TCP/UDP/IP 协议都涉及校验),这样,修改后的数据包就能顺利'骗过'网络协议检查机制,被对端正常接收处理,如果不勾选篡改后的数据包可能会被接收方拒收。
    • RST next packet: 点击后可立即终止一个 TCP 连接。
    2.3 NOTICE:底部提示栏

    底部提示栏

    这部分是对过滤设置的一些补充说明,尤其是捕获本机(localhost)流量时的限制。 截图内容意思为:当你测试的是回环地址(如 127.0.0.1),不能使用 Inbound 过滤条件。也就是说,如果你模拟本地服务器或自己机器的服务,只能用 outbound 来测试。

    3. 实用场景示例

    以下是推荐的几个实用场景示例

    3.1 本地服务在网络差时是否仍能稳定响应?

    背景:在本机运行了一个 Web 服务或后端接口(比如 127.0.0.1:8080),想验证当客户端网络变差时,服务是否能处理超时、重试等逻辑。 设置: Preset:localhost ipv4 tcp(拦截所有本机 IPv4 回环地址的数据流) Lag:500ms(500 毫秒延迟) Drop:10%(10% 的丢包率) Throttle:Timeframe: 30ms;Chance: 30%;Drop Throttled: 不勾选(模拟延迟但不丢包)

    测试的目标:

    • 前端或客户端是否能处理请求超时?
    • 服务是否会异常崩溃?
    • 用户体验是否合理(如等待页面、错误提示)?
    3.2 测试弱网环境下的移动 App 接口调用

    背景:App 应用正常运行没问题,担心用户在 4G 差或 Wi-Fi 卡顿时接口调用会失败。 设置: Preset:all ipv4 against specific 服务器 IP(拦截发往或来自'指定 IP 地址'的所有 IPv4 数据流) Lag:100~300ms(延迟) Drop:10%(10% 的丢包率) Throttle:Timeframe: 30ms;Chance: 30%;Drop Throttled: 不勾选(模拟延迟但不丢包) Out of order:10%(数据包乱序的概率)

    测试的目标:

    • SDK 是否支持断线重连、超时重试?
    • 用户数据是否丢失?
    • 异常提示是否准确?
    3.3 测试 TCP 服务在断网或网络抖动下的健壮性

    背景:程序需要长时间维持 TCP 连接(如长连接、心跳机制),想看突然断网或重连是否正常恢复。 设置: Preset:tcp ipv4 against 服务端口号(拦截所有走特定端口的 IPv4 数据) Set TCP RST:通过点击 [RST next packet] 立即断开 TCP 连接 Drop:10%(10% 的丢包率) Tamper:勾选 Redo Checksum,10%(篡改数据包,模拟数据解析异常情况)

    测试的目标:

    • 程序是否能自动重连?
    • 会不会导致崩溃或数据丢失?
    • UI 提示是否合理?

    四、如何从 0 开始用 Clumsy 建立网络异常测试体系?

    如果你所在的公司和我一样,过去并没有系统地做过网络异常模拟测试,那么你作为测试人员要推动这件事,可以参考下面这几个步骤,从无到有逐步落地:

    第一步:明确测试目标,划定边界

    在开始测试前,先明确你想解决的问题:

    • 你的产品/系统是否依赖网络?在哪些环节?
    • 哪些功能在网络波动时最容易出错?(例如:登录、设备连接、实时同步等)
    • 你是希望做冒烟测试,还是做系统性的稳定性评估?

    第二步:规划测试维度 & 使用 Clumsy 对应功能

    根据常见网络异常,确定你的测试维度,常见如下:

    网络现象对应 Clumsy 功能
    网络延迟Lag
    丢包Drop
    乱序Out of Order
    带宽受限Throttle, Bandwidth
    重复包Duplicate
    TCP 中断Set TCP RST
    数据篡改Tamper

    每个维度建议至少设计 2~3 个强度等级:正常 / 较弱网 / 极端弱网。

    第三步:编写测试用例

    用常规测试用例的结构来编写即可,如下示例:

    用例编号:NET_001 测试目标:验证订单支付流程在中度延迟(Lag 200ms)情况下是否可用 前置条件:用户已登录并选好商品 步骤:

    1. 打开 Clumsy,启用 Lag,设置为 200ms,勾选 Inbound + Outbound;
    2. 在 App/Web 中进行下单支付;
    3. 观察是否超时、卡顿、订单是否成功;

    预期结果:

    • 页面无明显崩溃;
    • 支付能正确完成或提示网络不稳定并重试;

    可以先在几个关键路径和节点写好用例,后续再慢慢补充其它边角逻辑。

    第四步:整理测试模板,团队共用

    可以在团队内建立以下几个标准化内容:

    1. 一个 Clumsy 参数设置参考表(不同场景用哪些参数)
    2. 一套通用测试用例模板(如上)
    3. 一个简单的使用录屏(怎么打开 Clumsy、怎么开始测试)
    4. 一个'异常网络环境级别定义文档'(例如:轻度、中度、严重)

    让团队成员都能快速上手,同时保障测试的一致性和可复现性。

    第五步:总结 bug 和优化建议,形成闭环

    • 在测试中记录下'哪些功能在什么网络条件下出问题';
    • 与开发协作优化,比如增加错误重试机制、延迟提示、降级处理等;
    • 最终输出一份《网络异常场景测试报告》,推动产品优化升级,提高用户体验。

    网络异常测试参数设置参考

    以下是一些可用的网络异常测试的常用指标,可供参考:

    编号测试项参数设置设置说明及原因
    1延迟(Latency)100ms / 200ms / 500ms / 800ms / 1000ms医疗场景对响应时间要求较高,尤其是远程指令交互和训练反馈,必须验证在不同延迟下系统能否稳定运行。特别是 ≤200ms 是关键响应指标。
    2丢包(Packet Loss)1% / 5% / 10% / 15%无线网络易出现丢包,医疗系统应保证在 10% 以内仍稳定运行。>10% 用于测试系统的容错与报警能力。
    3抖动(Jitter)20ms / 50ms / 100ms抖动是视频流与实时音频影响的关键因素。训练系统含第一视角视频与数据反馈,抖动容忍度应验证。
    4带宽限制(Throttle)1Mbps / 5Mbps / 10Mbps视频流对带宽敏感,模拟医院/家庭网络较低带宽场景,验证系统的适配能力与数据压缩策略是否有效。
    5数据包乱序(Out-of-Order)5% / 10%TCP 协议能处理乱序包,但 UDP 可能有问题。用于验证视频/命令数据乱序情况下是否恢复正常,适用于存在 UDP 流传输模块的系统。
    6断流(Drop Connection)每 5 分钟模拟断流 3 秒模拟医院/家庭环境中的短时断网或 WiFi 切换情形,确保系统能自动重连、数据不丢失。
    7多端接入冲突模拟两个 PAD 同时连接一台 XR 设备验证系统在非法接入或多用户竞争时是否正确拒绝或有防冲突机制,保障数据安全与系统稳定性。
    8IP 变更 & DHCP 丢失模拟 XR 设备 IP 变更、DHCP 超时验证系统连接机制是否健壮,支持重新发现设备或提供提示/恢复机制,避免死链问题。

    五、常见问题 FAQ

    Q1:Clumsy 是不是只能用在 Windows?

    是的,Clumsy 目前仅支持 Windows 系统(依赖 WinDivert 驱动)。在 Linux 上可使用类似工具如 tc、netem、dummynet 等。

    Q2:Clumsy 会影响本机所有程序的网络吗?

    是的。Clumsy 会以全局方式 Hook 网络层(WinDivert 驱动),因此它对所有通过网卡走的 TCP/UDP 流量都生效。建议测试时只运行目标程序,避免干扰其他软件。

    Q3:我用的是 WebSocket 协议,能用 Clumsy 测试吗?

    完全可以。WebSocket 底层依赖 TCP 连接,所以 Clumsy 对 TCP 包的延迟、丢包等设置都会直接影响 WebSocket 的表现,非常适合做实时控制和视频流的异常测试。

    Q4:如何判断 Clumsy 的设置是否生效?

    Ping 命令测试

    建议使用 ping 命令,ping 想要测试的设备地址,查看其延迟和丢包率是否与设置的异常情况一致。

    Q5:Clumsy 会修改系统网络设置吗?

    不会。Clumsy 是一个基于 WinDivert 的临时网络拦截工具,只在运行时生效,不会永久更改系统网络配置或驱动。关闭 Clumsy 后,网络会立即恢复正常。

    Q6:启动 Clumsy 后没有任何效果,怎么办?

    请检查以下几点:

    • 是否以管理员权限运行;
    • 是否勾选了具体的干预项(如 Delay / Drop);
    • Preset(预设)是否选中了目标流量(如 IPv4 / TCP);
    • 应用是否确实产生了网络流量;
    • 是否设置了太低的概率(如 Drop 10%,可能观察不到);
    • 本地防火墙是否拦截了 Clumsy / WinDivert。

    Q7:我想验证两个移动设备之间的网络异常情况该如何操作?

    Clumsy 只能干扰经过运行 Clumsy 的设备的网络消息,如果两个移动设备通讯的网络消息未经过运行 Clumsy 的设备则无法干扰。 这种情况我们可以在运行 Clumsy 的设备上开启一个移动热点,构建一个局域网,要测试的两台移动设备连接到这个局域网中进行通讯,此时运行 Clumsy 即可干扰这两个移动设备间的网络通讯。

    六、扩展内容

    1. Clumsy 的技术原理

    Clumsy 本质上是一个基于 WinDivert 的 GUI 工具,它通过拦截、修改、重注入网络数据包来模拟网络异常。 它的核心原理可以简要概括为:

    1. 使用 WinDivert 驱动拦截本机进出数据包;
    2. 根据用户设置的规则(如延迟、丢包、乱序等)对数据包进行加工;
    3. 将修改后的数据包重新注入网络栈,让上层应用接收到'异常'效果;
    4. 不需要对目标应用或网络协议进行改动,直接作用于底层网络传输层。

    架构图:

    技术原理图

    2. 什么是 WinDivert

    WinDivert 是一个开源的 Windows 平台下的网络数据包捕获与修改工具库,它允许开发者在内核态与用户态之间拦截、修改和重注入网络数据包。 简单来说,它是一种驱动级别的网络'钩子'工具,可以用于构建诸如网络调试器、防火墙、VPN、网络模拟器(比如 Clumsy)等工具的底层组件。

    官网:官网地址 文档:说明文档地址

    3. 除了 Clumsy,还有哪些网络模拟工具?

    1. NetEm(Linux):适用于 Linux 平台的专业网络模拟器,支持延迟、抖动、丢包、限速。
    2. WANem:基于虚拟机的网络环境模拟器,可以模拟复杂的广域网环境。
    3. NetLimiter / NetBalancer:Windows 下的流量控制和限速工具。
    4. Chaos Mesh / Istio:在云原生环境下做'网络熔断'测试的方案。

    目录

    1. 一、Clumsy 是什么?
    2. 二、为什么要用 Clumsy?
    3. 三、如何使用 Clumsy?
    4. 1. 下载和启动
    5. 2. 基本界面说明
    6. 2.1 Filtering: 过滤设置(过滤哪些流量)
    7. 2.2 Functions:功能模块(模拟哪些网络异常)
    8. 2.3 NOTICE:底部提示栏
    9. 3. 实用场景示例
    10. 3.1 本地服务在网络差时是否仍能稳定响应?
    11. 3.2 测试弱网环境下的移动 App 接口调用
    12. 3.3 测试 TCP 服务在断网或网络抖动下的健壮性
    13. 四、如何从 0 开始用 Clumsy 建立网络异常测试体系?
    14. 第一步:明确测试目标,划定边界
    15. 第二步:规划测试维度 & 使用 Clumsy 对应功能
    16. 第三步:编写测试用例
    17. 第四步:整理测试模板,团队共用
    18. 第五步:总结 bug 和优化建议,形成闭环
    19. 网络异常测试参数设置参考
    20. 五、常见问题 FAQ
    21. Q1:Clumsy 是不是只能用在 Windows?
    22. Q2:Clumsy 会影响本机所有程序的网络吗?
    23. Q3:我用的是 WebSocket 协议,能用 Clumsy 测试吗?
    24. Q4:如何判断 Clumsy 的设置是否生效?
    25. Q5:Clumsy 会修改系统网络设置吗?
    26. Q6:启动 Clumsy 后没有任何效果,怎么办?
    27. Q7:我想验证两个移动设备之间的网络异常情况该如何操作?
    28. 六、扩展内容
    29. 1. Clumsy 的技术原理
    30. 2. 什么是 WinDivert
    31. 3. 除了 Clumsy,还有哪些网络模拟工具?
    • 免费图片AI生成工具免费生成了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • 使用 NCC 和 PKG 将 Node.js 项目打包为跨平台可执行文件
    • Welford 算法:海量数据均值与方差的流式计算
    • ESP32-S3 本地 AI 模型推理能力与实战指南
    • Java 串口通信库 jSerialComm 跨平台开发指南
    • YOLO 无人机目标检测实战:7261 张数据集与 QT 可视化界面实现
    • DeepSeek-OCR-WEBUI 开源实践与部署指南
    • 异步编程实战:构建高性能 Python 网络应用
    • 基于 NebulaGraph 与大语言模型构建中医药鼻炎知识图谱
    • Web3 学习指南:从比特币到以太坊的演进
    • 使用 Ollama、Open WebUI 和 Docker 本地部署可视化 AI 大语言模型
    • 使用 Rokid 灵珠平台搭建旅游 AR 智能体实战指南
    • Linux 多路转接 IO 模型详解:select
    • Nginx 安装配置、核心参数及反向代理实战
    • 基于多模型并行的内容生成与对比分析工作流构建
    • 主流大模型横评:GPT、Claude、Gemini、Llama 及国产模型选型指南
    • Hunyuan-MT-7B WEBUI 本地化部署方案
    • OpenClaw 开源汉化版安装与配置指南
    • 飞书机器人图片消息发送实战与常见报错解决
    • C# 荣获 2023 年度编程语言奖,TIOBE 2024 年 1 月排行榜解读
    • 位运算实战:两数之和、单次数字与缺失数字

    相关免费在线工具

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

    • HTML转Markdown

      将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

    • JSON 压缩

      通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

    • JSON美化和格式化

      将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online