JSON 文字列変換とパース

JSON.stringify() parse()

JSONとは、”JavaScript Object Notation”の略らしく、難しく云うと「テキストベースのデータフォーマット」です。少し簡単に云うとExcelにはCSVと云うテキストファイルが扱いやすいですが、JSONは最近流行りのPythonJavaScriptSwiftなどから扱いやすい形式のテキストデータと云うことになります。

JSONは様々なデータ構造を作れます。Excelのような縦横のグリッド形式の場合JSONフォーマットで表すと下記のように記述することも可能です。

CSV形式をJSONで表した例
CSV形式をJSONで表した例

JavaScriptの変数をJSON文字列に変換

JavaScriptで作成した変数をJSON文字列に変換したい場合はJSON.stringify()を使います

var array1 = []; //空の配列
array1.push({"NAME": "山田", "AGE":30}); //配列追記
array1.push({"NAME": "田中", "AGE":40}); //配列追記
var jsonString = JSON.stringify(array1); //JSON文字列変換

console.log(jsonString);
JSON.stringify()結果
JSON.stringify()結果

4行目の変数jsonStringには文字列「[{“NAME”:”山田”,”AGE”:30},{“NAME”:”田中”,”AGE”:40}]」が入りました。従って、JSON形式で他者にデータを渡す場合JSON.stringify()を利用します。

JavaScriptJSON文字列をパース

「JSONをパースする」や「パーサーを使う」などの言葉をよく耳にすると思います。他者からJSON形式の文字列を受け取る場合JSONをパースし利用します。

JavaScriptJSONをパースする場合JSON.parse()を使います。使い方は簡単でJSON形式の文字列をJSON.parse()の引数に入れるだけです。

let jsonString = "[{\"NAME\":\"山田\",\"AGE\":30},{\"NAME\":\"田中\",\"AGE\":40}]";
let array2 = JSON.parse(jsonString)

変数array2は下のようにデータが入りました。

JSON.parse()結果
JSON.parse()結果

JavaScript slice() 文字列の最後の文字を削除

JavaScript String slice()

JavaScriptString変数内の文字列の最後の文字を消す場合string内にslice()と云うメンバー関数が利用できます。

var s = "1,2,3,4,5,"

上記のような変数sがあった場合「最後のカンマだけを削除したい」ということがよくあります。その場合下記コード例のようにslice()を使って書けば最後の一文字を削除できます。

var s = "1,2,3,4,5,"
s = s.slice(0,-1)

変数sには、「1,2,3,4,5」が代入され最後のカンマは消えます。

文字列の先頭を削除

先頭の文字列を削除したい場合は、下記コード例のように記述します。

var s = "1,2,3,4,5,"
s = s.slice(1)

文字列範囲を取り出したい場合

slice()は文字列内の何文字目〜何文字目までを取り出すことも可能です。

var s = "1,2,3,4,5,"
s = s.slice(2,5)

上記のようにslice(2,5)とすると0から数えた2文字目から5文字目までがsに代入されます。

従いまして、s=「2,3」が入ります。

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED