あなたが知らないJSON.strigifyの知識点
2945 ワード
1.定義 value:JSON文字列のjavascriptオブジェクトに変換します. replacer:このパラメータは様々なタイプであってもよく、関数であれば、Javascriptオブジェクトの文字列化過程における挙動を変えることができ、StringおよびNumberオブジェクトを含む配列であれば、ホワイトリストとして、これらのキーだけがドメインのホワイトリストのキーペアに含まれます.最終的に生成されたJSON文字列に含まれます.このパラメータ値がnullまたは省略されると、すべてのキーペアは最終的に生成されたJSON文字列に含まれます. space:このパラメータは、出力されたJSON文字列に空白文字を挿入して読み取り可能性を高めるために、StringまたはNumberオブジェクトとすることができます.Numberオブジェクトであれば、空白文字としていくつかのスペースを使用することを表します.最大は10であり、10より大きい数値でも10を取ることができます.最小は1であり、1より小さい数値でも無効であれば、空白文字は表示されません.Stringオブジェクトであれば、文字列自体が空白文字となり、文字列が最長で10文字となり、それを超えると10文字前の文字が切り取られます.このパラメータが省略されている(またはnull)場合、空白文字は表示されません. は表示されません.
1.1置換関数は、値をフィルタするために使用できます.は、undefinedに戻ると、この属性を無視する を表しています.は文字列を返します.ブール値または数字はstrigify によって返されます.戻るオブジェクトは、基本タイプの属性 に出会うことを知っている再帰的呼び出しをトリガする.戻りますが、ストリングスフリーの値は無視されます. undefined値、関数またはXML値は無視されます. あなたの配列にundefined値、関数またはXML値が含まれていると、これらの値はnull として扱われます.属性が .いくつかの属性は、 はすべての合法的なJSONではなく、有効なJavaScript です. JSONはテキスト形式だけです. JSONの数字は10進数 です.
stringify
関数の定義:JSON.stringify(value [, replacer [, space]])
パラメータ:1.1置換関数は、値をフィルタするために使用できます.
let user = {
age: 18,
name: 'tom',
email: '[email protected]'
};
function replacer(key, value) {
if (key === 'email') {
return undefined;
}
return value;
}
let str = JSON.stringify(user, replacer);
// "{"age":18,"name":"tom"}"
//
let data = [
{name: "tom", sex:1, age: 18},
{name: "jerry", sex:0, age: 17},
{name: "mike", test: {age: 15}} //
];
let str = JSON.stringify(data, ["name","age"]);
console.log(str);
//[{"name":"tom","sex":1},{"name":"jerry","sex":0},{"name":"mike"}]
//
let str2 = JSON.stringify(data, function(key, val){
if(key === 'sex'){
return [' ', ' '][val]
}
return val
})
console.log(str2);
// [{"name":"tom","sex":" ","age":18},{"name":"jerry","sex":" ","age":17}]
1.2 JSON.stringify()
を使ってオブジェクトの順序付けをするnull
であれば、この属性は正常に順列化されてもよい(null
は、与えられた値を表してもよいので、undefined
は未定義、未割り当てを表しているので、JSON.stringify
は処理されない)stringify
(SONは汎用的なテキストフォーマットであり、言語とは関係がない.関数を定義してもstingifyとすると、どの言語かをどう判断し、適切な方法で表現すると複雑になる.特に、JavaScriptのSymbolなど、言語に関連するいくつかの特性.)let data = {
name: 'tom',
age: undefined,
sex: null,
fn: function() {
return true
}
}
JSON.stringify(data)
// {"name":"tom","sex":null}
// , stringify null
let arr = [Symbol(), undefined, function() {}, "tom"];
JSON.stringify(arr);
// "[null,null,null,'tom']"
注意