在JSON结果中定义函数是否有效?

103

从网站的JSON响应中,这部分内容是这样的(...是为了方便上下文而添加的):

{..., now:function(){return(new Date).getTime()}, ...}

将匿名函数添加到JSON中是否有效? 我期望每次访问'time'时返回不同的值。


浏览器成功解析了JSON吗?如果是,则它是有效的(在这方面)。 - harschware
7
@harschware - 这只对JSON与JavaScript相关的情况为真。作为一种语言无关的数据序列化格式,这是错误的,并且是一条棘手的路要走下去。 - jsoverson
@jsoverson - 我同意。请看下面我的回答。 - harschware
1
很容易自己回答这个问题:打开 WebKit 检查器并运行:JSON.parse('{now:function(){return(new Date).getTime()}')。检查器会显示:Uncaught SyntaxError: Unexpected token n。 快速查看 [JSON 规范](http://www.json.org/)可以确认这一点。重点关注“value”部分。 - Mark E. Haase
11个回答

-7

不要加引号...

var a = {"b":function(){alert('hello world');} };

a.b();

这是JavaScript,问题正在询问JSON。 - Quentin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接