JavaScript JSON
JSONとは?
JSONとはJavaScript Object Notationの略である。
直訳するとJavaScriptの表記法という意味
データ定義方法であり、他にもhtml,xml,csv....などがある。
最近ではAjaxにも使われ、異なるプログラミング間でのデータのやり取りをする際に用いられる。
JavaScript Object Notation - Wikipedia
扱えるデータ型
データ型 | 意味 | 例 |
---|---|---|
string | 文字列 | "str" |
number | 数値 | 1 |
null | オブジェクト | null |
boolean | 論理値 | true,false |
object | 連想配列 | {} |
object | 配列 | [] |
JSON形式のルール
- 変数名を""で囲む
- 文字コードはデフォルトでUTF-8
※詳細はWikipedia参照例
{ "str": "str", "num": 1, "null": null, "bool": true, "obj": {}, "array": [] }
jsonファイルを読み込む
node.jsのfsモジュールを使用
上記の例を.jsonファイルに記述して読み込んでみる。
const fs = require('fs'); let json = fs.readFileSync('./sample.json');
バイナリデータとして読み込める。
<Buffer 7b 0d 0a 20 20 20 20 22 73 74 72 22 3a 20 22 73 74 72 22 2c 0d 0a 20 20 20 20 22 6e 75 6d 22 3a 20 31 2c 0d 0a 20 20 20 20 22 6e 75 6c 6c 22 3a 20 6e ... 59 more bytes>
このままだとわからないので.toString()で文字列に変換。
文字列に変換
json.toString();
{ "str": "str", "num": 1, "null": null, "bool": true, "obj": {}, "array": [] }
jsonをobjectに変換
JSON.parse(json)
keyのダブルクォーテーションがはずれてobject型に変換されていることがわかる。
{ str: 'str', num: 1, null: null, bool: true, obj: {}, array: [] }
objectをjsonに変換
JSON.stringify(obj, null, 4)
第3引数でインデントの操作ができる。 指定すると非常に見やすい。
{ "str": "str", "num": 1, "null": null, "bool": true, "obj": {}, "array": [] }