You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中验证JSON格式并实现格式化输出?

在JavaScript中验证并格式化JSON的最优方案

我平时处理JSON需求时一直用JS原生的方法,简单高效还不用额外依赖任何库,完全能搞定验证和格式化这两件事!

一、验证JSON格式合法性

JS内置的JSON.parse()就是最靠谱的验证工具——如果传入的字符串不符合JSON规范,它会直接抛出SyntaxError错误。我们只需要用try-catch块捕获这个错误,就能轻松判断JSON是否合法:

function isValidJson(jsonString) {
  try {
    // 尝试解析字符串,成功则说明格式合规
    JSON.parse(jsonString);
    return true;
  } catch (err) {
    // 解析失败时,打印错误细节并返回false
    console.error('JSON格式不合法:', err.message);
    return false;
  }
}

二、格式化输出(Pretty-Print)

还是用原生的JSON.stringify()方法,它的第三个参数可以指定缩进的空格数(或者制表符'\t'),直接就能生成可读性极强的格式化JSON字符串:

function formatJson(jsonString) {
  try {
    // 先把JSON字符串解析成JS对象,再格式化输出
    const parsedData = JSON.parse(jsonString);
    // 第三个参数设为2表示用2个空格缩进,换成4或者'\t'都可以按需调整
    return JSON.stringify(parsedData, null, 2);
  } catch (err) {
    console.error('无法格式化:JSON格式错误', err.message);
    return null;
  }
}

实际使用示例

// 测试用的原始JSON字符串
const rawJson = '{"username":"piyush","posts":[{"title":"JS技巧","likes":120},{"title":"JSON指南","likes":89}]}';

// 验证JSON合法性
console.log(isValidJson(rawJson)); // 输出: true

// 格式化并打印结果
const formattedJson = formatJson(rawJson);
console.log(formattedJson);
// 输出的格式化内容:
// {
//   "username": "piyush",
//   "posts": [
//     {
//       "title": "JS技巧",
//       "likes": 120
//     },
//     {
//       "title": "JSON指南",
//       "likes": 89
//     }
//   ]
// }

为什么这是最优方案?

  • 完全原生,不需要引入任何第三方库,减少项目依赖的同时也避免了额外的打包体积
  • 性能优异,原生API的执行效率远高于大多数第三方实现
  • 兼容性拉满,几乎所有现代浏览器和Node.js版本都完美支持JSON.parse()和JSON.stringify()

内容的提问来源于stack exchange,提问作者Piyush Dabhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 10:12:30