一、全局JSON對象
二、JavaScript 對象序列化爲 JSON對象
var book = {
title: "Professional JavaScript",
authors: ["Nicholas C. Zakas"],
edition: 3,
year: 2011
};
var jsonText = JSON.stringify(book);
var book = {
title: "Professional JavaScript",
authors: ["Nicholas C. Zakas"],
edition: 3,
year: 2011
};
var jsonText = JSON.stringify(book, ["title", "edition"]);
jsonText的值爲 {"title": "Professional JavaScript", "edition": 3}var book = {
title: "Professional JavaScript",
authors: ["Nicholas C. Zakas"],
edition: 3,
year: 2011
};
var jsonText = JSON.stringify(book, function(key, value){
switch(key){
case "authors":
return value.join(",")
case "year":
return 5000;
case "edition":
return undefined;
default:
return value;
}
});
序列化後的 jsonText 值爲:{"title": "Professional JavaScript", "authors": "Nicholas C. Zakas", "year": 5000}第三個參數用於控制結果的縮進:
var book = {
title: "Professional JavaScript",
authors: ["Nicholas C. Zakas"],
edition: 3,
year: 2011
};
var jsonText = JSON.stringify(book, null, 4);
jsonText 中的字符串:"title": "Professional JavaScript",
"authors": [
"Nicholas C. Zakas"
],
"edition": 3,
"year": 2011
}
var book = {
title: "Professional JavaScript",
authors: ["Nicholas C. Zakas"],
edition: 3,
year: 2011
};
var jsonText = JSON.stringify(book, null, " - -");
jsonText 中的字符串:--"title": "Professional JavaScript",
--"authors": [
----"Nicholas C. Zakas"
--],
--"edition": 3,
--"year": 2011
}
三、JSON對象解析爲 JavaScript 對象
var book = {
title: "Professional JavaScript",
authors: ["Nicholas C. Zakas"],
edition: 3,
year: 2011,
releaseDate: new Date(2011, 11, 1)
};
var jsonText = JSON.stringify(book);
var bookCopy = JSON.parse(jsonText, function(key, value){
if (key == "releaseDate"){
return new Date(value);
} else {
return value;
}
});