我坚持这个简单的:
var myfunc1 = function() {
console.log('just a function');
};
var myfunc2 = function() {
console.log('just another function');
};
var myobj = {
id : 1,
desc : 'an object',
funz : [myfunc1, myfunc2]
};
console.log(JSON.stringify(myobj));
=>输出
/usr/local/bin/node lab.js
{"id":1,"desc":"an object","funz":[null,null]}
我正忙着做类似的事情:
{"id":1,"desc":"an object","funz":[Function,Function]}
我想念什么?
答案 0 :(得分:2)
在Mozilla开发者网络上找到:
“如果未定义,在转换过程中遇到函数或符号,则省略(在对象中找到它)或删除为null(在数组中找到它时)。”
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
答案 1 :(得分:1)
在JSON.stringify
中省略了函数如果未定义,在转换过程中遇到函数或符号,则省略(在对象中找到它)或删除为null(在数组中找到它时)。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
你可以这样做:
var myobj = {
id : 1,
desc : 'an object',
funz : [String(myfunc1), String(myfunc2)]
};
得到你想要的东西。