質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2754閲覧

セッションストレージに保存したデータの上書き

hakujam

総合スコア17

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2019/02/19 08:11

編集2019/02/20 04:58

よく理解できてないので教えてください。

//■JSON文字列をセッションストレージに書き込む
// 処理対象のオブジェクト配列

jQuery

1var shouhin = [ 2 { cate: '1', code: '0001', name: 'コーヒー', price: 300, count: 3 }, 3 { cate: '2', code: '0101', name: 'パン', price: 150, count: 3 }, 4 { cate: '3', code: '0201', name: 'バター', price: 400, count: 6 }, 5 { cate: '3', code: '0202', name: 'あんこ', price: 200, count: 0 }, 6 { cate: '3', code: '0203', name: 'りんごジャム', price: 100, count: 1 }, 7 { cate: '3', code: '0204', name: 'いちごジャム', price: 120, count: 0 } 8]; 9 10var jstr = JSON.stringify( shouhin ); 11sessionStorage.setItem( "jsons" , jstr );

と保存して、

//■読み込み参照

var shouhin = JSON.parse( sessionStorage.getItem("jsons") ); $.each(shouhin, function(index, val) { console.log(val.code); console.log(val.name); console.log(val.count); } );

と読み出すのは、例題そのままで出来ましたが、

指定箇所のデータを上書きするには、どう書けば良いのでしょうか?
例えば、code '0202' の count '0' を '1' にしたい場合。
setItem でどう書けば良いかわかりません。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/02/19 08:25

コードはマークダウンのcode機能を利用してご提示ください。
hakujam

2019/02/19 22:33

ありがとうそざいます。以後そうします。
m.ts10806

2019/02/19 22:51

質問は編集できるので適宜ご対応いただきたく。たぶん次の機会には忘れてると思いますので、今のうちにやってみてください
m.ts10806

2019/02/20 04:53

難しければコード部分を選択状態にして<code>ボタンを押すだけでいいです。
hakujam

2019/02/20 04:58

なんとなくわかりました。ありがとうそざいます。
m.ts10806

2019/02/20 05:01

解決後での指摘失礼しました。 コードが読みやすくなり、インデントなどもきちんと反映され、コピペもボタン1つなので回答者側からすると回答する際に非常に助かるので、今後活用してください。
hakujam

2019/02/20 05:04

はい、教えて頂いてよかったです。ありがとうございました。
guest

回答1

0

ベストアンサー

一部分だけ変更する方法はありませんので、「いったんJSON.parseして変数に展開する」→「必要な箇所を変更する」→「再度保存」というような手順をたどる必要があります。

javascript

1var shouhin = JSON.parse( sessionStorage.getItem("jsons") ); 2// ループから脱出するためにsome 3shouhin.some(function(item) { 4 if(item.code !== '0202') return; 5 item.count = '1'; 6 return true; 7}); 8 9var jstr = JSON.stringify( shouhin ); 10sessionStorage.setItem( "jsons" , jstr );

投稿2019/02/19 08:16

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hakujam

2019/02/19 22:35

ありがとうそざいます。勉強になります。助かりました。今、行えないので午後から試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問