今日勉強していたら json_stringify と json_parse という 2 つのメソッドを見つけました。何か似ているのかなと思ってネットで調べました。次は一緒に調べてみましょう。次のコードを見てみましょ
う
var obj = {
'name':'lala',
'age':19,
'sex':'nan'
}
var arr1 = ['stuid','classid',51];
var arr2 = ['name','age',11];
// 一个参数时
console.log(JSON.stringify(obj));
// 两个参数时 第二个参数为数组,可以看到只显示了name和age,因为sex属性在数组arr2里没有,所以没显示
var doublearr = JSON.stringify(obj,arr2);
console.log(doublearr);
// 两个参数时 二个参数都为数组,只会显示第一个
console.log(JSON.stringify(arr1,arr2));
// 两个参数时 第二个参数为函数,返回json类型格式的字符串
var doubargment = JSON.stringify(obj,function (key,value) {
return value;
});
console.log(doubargment);
// 三个参数时 第三个参数为分隔符,可以看到都是以gbk开头的
console.log(JSON.stringify(obj,function (key,value) {
return value;
},'gbk'));
実行時の効果は以下の通りです。
json_parse の使い方を見てみましょう
var str = '{"name":"lala","age":13,"sex":{"fist":"nan","two":"nv"}}';
var obj = JSON.parse(str);
console.log(typeof obj)
console.log(obj);
操作の効果は次のとおりです
。文字列 str がオブジェクトに変換されたことがわかります。上記 2 つのケースを要約すると、 json_stringify の機能はオブジェクトを json 形式の文字列に変換することであることがわかります。 json_parseはjs形式の文字列の文字をオブジェクトに変換します
注: json_parse は変換するには json 形式である必要があります。それ以外の場合はエラーが報告されます。純粋な数値と文字列「null」はエラーを報告しません。
さて、今日のまとめの時間です
- json_stringify ---- オブジェクトを json 形式の文字列に変換します
- 構文: JSON.stringify(値オブジェクト[, 置換関数/配列] [, スペース区切り文字])
- 最初のパラメータと 2 番目のパラメータの両方が配列の場合、最初のパラメータのみが表示されます
- オブジェクト+配列表示共通、オブジェクト属性==配列値
- 区切り文字が数値の場合は、インデントする文字数を定義します。もちろん、10 より大きい場合、最大値は 10 です
- json_parse ---- json形式の文字列をjsonオブジェクトに変換します
- 構文: json_parse(json-str)
今日の勉強はこれで終わりです、さようなら~