formatJson

格式化 JSON。可传对象,也可传 JSON 字符串重新排版。

API

formatJson(value, onError?, indent?)

参数 说明 类型 默认值
value 对象,或 JSON 字符串(容忍单引号) string | object 必填
onError 解析/序列化出错时的回调 (e: Error) => void 空函数
indent 每级缩进空格数 number 4

返回格式化后的字符串,无法解析时返回 ''

示例

import { formatJson } from 'ranuts';

formatJson({ a: 1, b: [2, 3] });
formatJson("{'a': 1}"); // 容忍单引号
formatJson({ a: 1 }, undefined, 2); // 2 空格缩进
formatJson('nope', (e) => console.warn(e)); // 返回 '' 并把错误交给回调

注意

  1. 字符串入参会被重新解析而不是原样输出,既做了校验也统一了排版,而不是信任调用方原本的空格。
  2. 错误只上报不抛出:非法 JSON、循环引用、JSON.stringify 无法表示的值都返回 '' 并触发 onError