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 を呼びます。