1
需要對以下代碼進行說明。實用程序中的JSON序列化
據我記得,有時回到Utilities.jsonStringify()沒有保存JSON對象中的函數。但是現在他們將它保存爲字符串(「resultFn」:「\ nfunction(pageNum,pageSize,filter){\ n return [{a:\」abc1 \「,b:\」bcd1 \「},{a: \「abc2 \」,b:\「bcd2 \」},{a:\「abc3 \」,b:\「bcd3 \」},{a:\「abc4 \」,b:\「bcd4 \」} ]; \ n})
而且使用eval(),該函數可以被帶回(見我在myFunction的代碼),它正常工作對我來說,至少對於簡單的例子
問:據我所知。 ,功能序列化的標準之外,因爲這是沒有記錄,我們可以依靠谷歌這個作爲API合同
可我還加? - 這將節省我很多:)代碼
線var fnResults = function(pageNum, pageSize, filter) {
return [
{ a: "abc1", b: "bcd1" },
{ a: "abc2", b: "bcd2" },
{ a: "abc3", b: "bcd3" },
{ a: "abc4", b: "bcd4" },
];
};
var TestConfig = {
pagerId: "TestId",
pageSize: 10,
widgetWidth: "15cm",
filterOptions: [],
resultFn: fnResults,
};
function myFunction() {
Logger.log(TestConfig.resultFn(1,2,3));
var s = Utilities.jsonStringify(TestConfig);
Logger.log(s);
var o = Utilities.jsonParse(s);
Logger.log(eval(o.resultFn)(1,2,3));
}
嗨科裏,謝謝你的答覆。我可以問你的答覆是否是Google官方的官方聲明,還是因爲它不符合JSON標準?如果谷歌繼續作爲自己的「增強」,我仍然可以很好地利用這一點 - 只要谷歌同意不改變它。 – 2013-03-01 05:49:03