JSON.stringifyメソッド

6371 ワード

JSONstringifyメソッド


 
jsonを使ったことがある人は知っているはずですが、1つのオブジェクトをstringifyを通ってバックグラウンドに提出したり、Storageに保存したりするのが一般的な手段です.ただしIE 6-8ではJSONオブジェクトが存在しないため、json2.jsで実現する.
今日はstringifyの方法の正しい姿勢を簡単に紹介しましょう.もちろん、達人たちを卑しく笑わせて、本文はただいくつかの方法を分かち合って初心者の友达にあげます.
テキスト
うんてん
var data = [

    {name: "   ", sex:1, age: 30}, {name: "   ", sex:0, age: 20}, {name: "   ", sex:1, age: 30} ]; var str_json = JSON.stringify(data); console.log(str_json);

これは私たちの日常的な使い方です.とても簡単ですね.
例えば、私たちのデータは非常に複雑で、顔、ニックネーム、個人署名などの情報もあります.しかし、私は地元に保存して、ユーザー名と性別だけで、腫れていますか?so easyと言って、データを繰り返して再抽出すればいいかもしれません.例:
テキスト
うんてん
var data = [

    {name: "   ", sex:1, age: 30}, {name: "   ", sex:0, age: 20}, {name: "   ", sex:1, age: 30} ]; for (var i=0, new_data=[]; i<data.length; i++) { new_data.push({ name: data[i].name, sex: data[i].sex }); } var str_json = JSON.stringify(new_data); console.log(str_json);

確かに分でできます.
実はstringifyの2番目のパラメータだけでこの問題を簡単に処理することができます.
テキスト
うんてん
var data = [

    {name: "   ", sex:1, age: 30}, {name: "   ", sex:0, age: 20}, {name: "   ", sex:1, age: 30} ]; var str_json = JSON.stringify(data, ["name", "sex"]); console.log(str_json);

2番目のパラメータは,必要なkeys配列を伝達するだけで,非常に容易にこの処理を完了する.
もちろん、1,0を男女に変更するなど、より複雑な処理を行う場合は、2番目のパラメータはコールバック関数で処理できます.
テキスト
うんてん
var data = [

    {name: "   ", sex:1, age: 30}, {name: "   ", sex:0, age: 20}, {name: "   ", sex:1, age: 30} ]; var str_json = JSON.stringify(data, function (k, v) { if (k === "sex") { return [" ", " "][v]; } return v; }); console.log(str_json);

2番目のパラメータはこんなに強くて、私たちのために多くの面倒を省きました.
文字列をフォーマットするための3つ目のパラメータもあります.
テキスト
うんてん
var data = [

    {name: "   ", sex:1, age: 30}, {name: "   ", sex:0, age: 20}, {name: "   ", sex:1, age: 30} ]; var str_json = JSON.stringify(data, null, "\t"); console.log(str_json); str_json = JSON.stringify(data, ["name", "sex"], "\t"); console.log(str_json);

実は、これはとても鶏の肋骨の機能だと思いますが、一般的には何の役にも立たないと思います.
はい、今日の分かち合いはこれだけです.初心者の友达に役に立つことを望んでいます.
 
参考資料:
JSON.stringify() - JavaScript | MDN
JSON in JavaScript
 
 
分類:
JavaScript
ラベル:
js
json