まず、違いJSON.stringify()とJSON.parse()の
JSON.parse()はJSON文字列オブジェクトに変換されるJSON.stringifyの効果()は、値JS JSON文字列に変換されます。それは我々が文字列にJSON.stringify()オブジェクトを使用する場合、オブジェクトに文字列を復元するために、JSON.parse()を使用し、です。
聞かせてOBJ = { 名: "歌" 、 年齢: 10 }; 聞かせてchangeObj = JSON.stringify(OBJ)。 console.log(changeObj)。// "{"名":"歌" "年齢":10}" はconsole.log(typeof演算 changeObj)。// 文字列 ORIGましょう = JSON.parse(changeObjを)。 console.log(ORIG)。// {名: "歌"、年齢:10} はconsole.log(typeof演算の ORIG)。// オブジェクト
二、JSON.stringify()とJSON.parse()いくつかの使用
オブジェクトのlocalStorage /のsessionStorageのLi /アレイ/アレイに格納されている(A)オブジェクト
localStorage /のsessionStorageのデフォルトの文字列を使用すると、オブジェクト・データ型を保存したい場合は、文字列にオブジェクトを変換するにはJSON.stringify()を使用して堆積する場合、のみ保存され、その後、JSON.parseを使用した時(で取り出した)トランスフェクト我々は戻っ対象になります。
1 // データを保存する 2 localStorage.setItem( "カート" 、JSON.stringify(N))を、 3 4。 // フェッチ 5。 JSON.parse(window.localStorage.getItem( "カート"))。
(B)ルーティングパラメータ通過VUE(オブジェクト)
1つか2つの属性内のオブジェクトは、あなたが直接オブジェクトを定義するリテラルの方法を使用することができますが、オブジェクトを渡す必要がある属性をたくさん持っている場合は、書く場合時には、1は明らかに望ましくありません。だから、JSON.stringify()とJSON.parse()に変換するために使用することができます。
1 本。$のrouter.push({ 2 名: "DataDetail" 、 3 照会:{ 4 tabsVal:JSON.stringify(val)で、 5 名:本。$ route.query.name 6 } 7 })。
オブジェクト/配列を達成するために、ディープコピー(C)
実際には、このデータを直接文字列に変換され、その後、実際には非常に良い解決策、バック変換完了後のコピー。
VAR OBJ2 = { 名称: "L" 、 年齢: 12 、 値: "IU" } OBJ1 = JSON.parse(JSON.stringify(OBJ2))。
(D)は、アレイ/オブジェクトが等しい判断した場合、または特定のコンテンツが決定された場合
アレイ/オブジェクトの両方比較する最初の文字列に変換されて直接合同決定することができ、本当に簡単このように等しいかどうかを決定するために使用されます。