Written by Kasumi

【JavaScript】Local Storageに複数のデータをJSON形式で保存。配列で取得する方法

Local Storageに複数のデータを一つのキーとしてJSON形式で保存。

配列で取得したい。

本記事ではこのような悩みを解決。

実装サンプルを元に解説します。

Local Storageの役割について解説した記事はこちら
https://kasumiblog.org/javascript-localstorage/

実装サンプル

See the Pen
ローカルストレージに複数のデータを保存
by Kohei (@kouk05)
on CodePen.0

実装サンプルです。

三つあるテキストフィールドにそれぞれ文字列を入力。

保存ボタンを押したら入力されたフィールド分だけLocal Storageに保存されます。

読込ボタンを押すと、Local Storageに複数保存されてるデータをリストで表示します。

実装方法は以下の通りです。

実装コード

// 保存
function save() {
  const val1 = document.querySelector('.txt1').value;
  const val2 = document.querySelector('.txt2').value;
  const val3 = document.querySelector('.txt3').value;
  // 配列を定義
  const data = { key1: val1, key2: val2, key3: val3 };
  // 配列をJSON形式に変換してからlocalstorageに保存
  localStorage.setItem("data", JSON.stringify(data));
}      

// 読込
function load() {
  const display = document.querySelector(".display");
  // localstorageに保存したデータ(配列)を取得
  const data = JSON.parse(localStorage.getItem("data"));
  // localstorageに保存したデータを表示
  Object.keys(data).forEach(element => {
    var displayChild = document.createElement('li');
    displayChild.textContent = data[element];
    display.appendChild(displayChild);
  });
}

Local Storageに複数のデータを保存・配列で取得するコード例です。

コードの詳細は以下の通りです。

JSON文字列に変換

// 保存
function save() {
  // 配列を定義
  const data = { key1: データ01, key2: データ02, key3: データ03 };
  // 配列をJSON形式に変換してからlocalstorageに保存
  localStorage.setItem("data", JSON.stringify(data));
}   

localStorageに複数のデータを保存するにはJSON形式にする必要があります。

まず最初に、配列を定義して保存したい複数のデータを格納

localStorage.setItemを定義。

第一引数に任意のキー値を設定(取得時に使います)。

第二引数にJSON.stringify(上記で定義した配列の変数)を設定します。

以上でJSON形式で複数のデータをlocalStorageに保存できました。

JSONを配列に変換。データを取得

// 読込
function load() {
  const display = document.querySelector(".display");
  // localstorageに保存したデータ(配列)を取得
  const data = JSON.parse(localStorage.getItem("data"));
  // localstorageに保存したデータを表示
  Object.keys(data).forEach(element => {
    console.log(data[element]);
  });
}

最後にlocalStorageに保存された複数のデータを取得します。

JSON.parse(localStorage.getItem(“定義したキー値”))を記述。

JSON形式をJavaScriptで扱える配列オブジェクトに戻します。

forEachを使って、上記配列から複数のデータを取得できたら成功です。

まとめ

JavaScriptでLocal Storageに複数のデータをJSON形式で保存。配列で取得する方法について紹介しました。

目次

関連記事

JavaScript

JavaScriptで異なる配列を同じ関数に渡して処理を使い回す方法【applyメソッドが便利】

2022.12.11
1706
JavaScript

【JavaScript】親要素から子要素を取得する方法

2023.01.30
5571
JavaScript

【JavaScript】selectボックスで選択したoptionによってクラスを追加・削除する方法

2022.10.14
5368
JavaScript

JavaScriptで指定した条件に当てはまる配列要素があるか存在をチェック。true/falseで判定する方法

2023.01.05
1057