JSONをオブジェクトに変換する方法:JSON.parse()メソッドとその他の方法
JavaScriptでオブジェクトをJSONにシリアル化する
JSONとは
JSON (JavaScript Object Notation) は、軽量なデータ交換形式です。JavaScriptのオブジェクトリテラルをベースに作られており、人間が読み書きしやすいように設計されています。
オブジェクトをJSONにシリアル化する
JavaScriptでオブジェクトをJSONに変換するには、JSON.stringify() メソッドを使用します。
const obj = {
name: "John Doe",
age: 30,
address: {
city: "Tokyo",
country: "Japan",
},
};
const json = JSON.stringify(obj);
console.log(json);
このコードは、次のJSON文字列を出力します。
{
"name": "John Doe",
"age": 30,
"address": {
"city": "Tokyo",
"country": "Japan"
}
}
JSON.stringify() メソッドは、オブジェクトをJSONに変換する際に、以下の点に注意する必要があります。
- オブジェクトのプロパティ名は、二重引用符で囲む必要があります。
- オブジェクトの値は、文字列、数値、真偽値、配列、オブジェクトなど、JSONで表現可能な値である必要があります。
- 関数や日付などの、JSONで表現できない値は、シリアル化されません。
JSON.stringify() メソッドのオプション
JSON.stringify() メソッドには、オプションを指定して、シリアル化の挙動をカスタマイズすることができます。
- replacer オプション: オブジェクトのプロパティごとに、シリアル化する値をカスタマイズできます。
- space オプション: JSON文字列の出力に、空白文字を挿入できます。
詳細は、MDN Web Docs の JSON.stringify() メソッド: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify を参照してください。
JSONのメリット
- 軽量で、データ転送に効率的です。
- 人間が読み書きしやすいので、デバッグやデータ分析に便利です。
- 多くのプログラミング言語でサポートされているので、異なる言語間でデータを交換しやすいです。
JavaScriptでオブジェクトをJSONにシリアル化する方法は、JSON.stringify() メソッドを使用するだけです。オプションを指定することで、シリアル化の挙動をカスタマイズすることができます。
JSONは、データ転送や保存に便利なデータ形式です。多くのプログラミング言語でサポートされているので、異なる言語間でデータを交換するのにも役立ちます。
オブジェクトをJSONにシリアル化する
const obj = {
name: "John Doe",
age: 30,
address: {
city: "Tokyo",
country: "Japan",
},
};
const json = JSON.stringify(obj);
console.log(json);
{
"name": "John Doe",
"age": 30,
"address": {
"city": "Tokyo",
"country": "Japan"
}
}
JSON.stringify() メソッドのオプション
const obj = {
name: "John Doe",
age: 30,
address: {
city: "Tokyo",
country: "Japan",
},
};
const json = JSON.stringify(obj, (key, value) => {
if (key === "age") {
return value + 1;
}
return value;
});
console.log(json);
{
"name": "John Doe",
"age": 31,
"address": {
"city": "Tokyo",
"country": "Japan"
}
}
const obj = {
name: "John Doe",
age: 30,
address: {
city: "Tokyo",
country: "Japan",
},
};
const json = JSON.stringify(obj, null, 2);
console.log(json);
{
"name": "John Doe",
"age": 30,
"address": {
"city": "Tokyo",
"country": "Japan"
}
}
const obj = {
name: "John Doe",
age: 30,
address: {
city: "Tokyo",
country: "Japan",
},
};
const json = JSON.stringify(obj, null, " ");
console.log(json);
{
"name": "John Doe",
"age": 30,
"address": {
"city": "Tokyo",
"country": "Japan"
}
}
JSONをオブジェクトに変換する
const json = '{
"name": "John Doe",
"age": 30,
"address": {
"city": "Tokyo",
"country": "Japan"
}
}';
const obj = JSON.parse(json);
console.log(obj);
{
name: "John Doe",
age: 30,
address: {
city: "Tokyo",
country: "Japan"
}
}
オブジェクトをJSONに変換する他の方法
手動でJSON文字列を作成する
単純なオブジェクトであれば、手動でJSON文字列を作成することができます。
const obj = {
name: "John Doe",
age: 30,
};
const json = '{ "name": "' + obj.name + '", "age": ' + obj.age + '}';
console.log(json);
{ "name": "John Doe", "age": 30 }
ただし、複雑なオブジェクトの場合、手動でJSON文字列を作成するのは大変です。
JSONライブラリを使用する
これらのライブラリを使用することで、より柔軟にオブジェクトをJSONに変換することができます。
オブジェクトをJSONに変換するには、JSON.stringify() メソッドが最も簡単です。ただし、複雑なオブジェクトの場合や、より柔軟な変換が必要な場合は、他の方法も検討することができます。
javascript json