JavaScriptでJSON文字列を整形する方法|JSON.stringifyの使い方を解説
JavaScriptでJSON文字列を読みやすい形式にフォーマット(整形)したい場合は、JSON.stringify()メソッドの引数を活用しましょう。第2引数と第3引数を指定することで、インデント付きの「見やすいJSON」を出力できます。
JSON.stringifyの基本構文
JSON.stringify(value, replacer, space)
- value: 変換対象のオブジェクト
- replacer: 出力をフィルタリング・変換する関数または配列(通常は
null) - space: インデントに使うスペースの数(または文字列)
サンプルコード
var details = {
studentId: 101,
studentFirstName: 'David',
studentLastName: 'Miller',
studentAge: 21,
subjectDetails: {
subjectId: 'JavaScript_101',
subjectName: 'Introduction to JavaScript',
}
};
console.log("Not Pretty JSON Format=")
console.log(JSON.stringify(details));
console.log("Pretty JSON Format=")
console.log(JSON.stringify(details, null, 3));プログラムの実行方法
上記のプログラムを実行するには、以下のコマンドを使用します。ここでは、ファイル名をdemo127.jsとして保存しています。
node demo127.js
実行結果
このプログラムを実行すると、次のような出力が得られます。
PS C:\Users\Amit\JavaScript-code> node demo127.js
Not Pretty JSON Format=
{"studentId":101,"studentFirstName":"David","studentLastName":"Miller","studentAge":21,"subjectDetails":{"subjectId":"JavaScript_101","subjectName":"Introduction to JavaScript"}}
Pretty JSON Format={
"studentId": 101,
"studentFirstName": "David",
"studentLastName": "Miller",
"studentAge": 21,
"subjectDetails": {
"subjectId": "JavaScript_101",
"subjectName": "Introduction to JavaScript"
}
}ポイントまとめ
- 引数なしの
JSON.stringify(details)は、すべてが1行に詰まったコンパクトなJSON文字列を返します。 - 第3引数に数値(例:3)を指定すると、その数のスペースでインデントされ、改行も自動的に挿入されます。
- デバッグやログ出力、設定ファイルの生成など、人間が読む場面では「Pretty Format」が便利です。
- 逆にAPI通信などデータ転送用には、サイズが小さいコンパクト形式が適しています。
-
文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】
JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum
-
JavaScriptオブジェクトの内容を文字列として表示する方法
JavaScriptでオブジェクトの内容を文字列形式で画面に表示したい場合、document.getElementById()でHTML要素を取得し、innerHTMLを使って書き出すのが基本的な方法です。オブジェクトを文字列に変換するには、JSON.stringify()メソッドを活用します。 実装手順 まず、表示先となるHTML要素にIDを設定します。次に、JavaScript側でそのIDを指定して要素を取得し、変換した文字列をinnerHTMLに代入します。 コード例 <!DOCTYPE html> <html lang="ja"> <h