JavaScriptでJSONオブジェクトを解析する方法【初心者向けに解説】
JSON.parse()メソッドとは
JavaScriptでJSON形式の文字列(テキストデータ)をオブジェクトに変換するには、標準組み込みのJSON.parse()メソッドを使用します。このメソッドは、引数として渡されたJSON文字列を解析し、対応するJavaScriptオブジェクトを返します。
基本的な構文は以下の通りです。
JSON.parse(text[, reviver])
- text:解析対象となるJSON形式の文字列
- reviver(省略可能):変換結果を加工するためのコールバック関数
サンプルコード
以下は、JSON.parse()を使ってJSONオブジェクトを解析する具体例です。イベント情報を含むJSON文字列を解析し、「start」「end」の日付文字列をDateオブジェクトに変換して出力します。
<!DOCTYPE html>
<html>
<body>
<script>
// JSON文字列を解析してオブジェクトに変換
var myData = JSON.parse('{"event1":{"title":"Employment period","start":"12\/29\/2011 10:20 ","end":"12\/15\/2013 00:00 "},"event2":{"title":"Employment period","start":"12\/14\/2011 10:20 ","end":"12\/18\/2013 00:00 "}}');
var myArray = [];
// 各イベントに対して処理を実行
for (var e in myData) {
var dataCopy = myData[e];
for (var key in dataCopy) {
if (key == "start" || key == "end") {
// 日付文字列をDateオブジェクトに変換
dataCopy[key] = new Date(dataCopy[key]);
}
}
myArray.push(dataCopy);
}
// 結果をJSON文字列として表示
document.write(JSON.stringify(myArray));
</script>
</body>
</html>コードの解説
- JSON.parse():JSON文字列をJavaScriptオブジェクトに変換します。
- for...inループ:オブジェクト内の各プロパティ(event1、event2)を順番に取り出します。
- 日付の変換:「start」「end」キーの値をnew Date()でDateオブジェクトに置き換えます。
- JSON.stringify():処理結果の配列を再びJSON文字列に戻して画面に出力します。
reviver引数を使ったより簡潔な書き方
JSON.parse()の第2引数(reviver)を利用すると、解析と同時に値を変換できるため、コードをより簡潔にできます。
var jsonStr = '{"event1":{"title":"Employment period","start":"12\/29\/2011 10:20 ","end":"12\/15\/2013 00:00 "}}';
var myData = JSON.parse(jsonStr, function (key, value) {
if (key === "start" || key === "end") {
return new Date(value); // 日付を自動的にDateオブジェクトへ変換
}
return value;
});エラー処理のポイント
不正な形式のJSON文字列を渡すと、JSON.parse()はSyntaxErrorをスローします。そのため、実際の開発ではtry...catch文で囲み、エラーに備えるのが安全です。
try {
var obj = JSON.parse('不正なJSON文字列');
} catch (e) {
console.error("JSONの解析に失敗しました:", e.message);
}-
文字列を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
-
iPhone / iOS(Swift)でJSONオブジェクトを解析する方法を徹底解説
JSONとは?JSONは「JavaScript Object Notation」の略称で、軽量なデータ交換フォーマットとして広く利用されています。APIや各種Webサービスと連携する際、多くの場合データはJSON形式で返却されるため、それをSwiftなどの扱いやすい形式に変換する必要があります。JSONSerializationクラスによる解析iOSのFoundationフレームワークには、JSONをDictionary(辞書)、String、Boolなどのサポートされた型へ変換するためのJSONSerializationクラスが用意されています。このクラスが提供するjsonObject(wi