gpt4 book ai didi

json - 编码 JSON 对象时如何避免使用引号

转载 作者:行者123 更新时间:2023-12-05 01:12:02 26 4
gpt4 key购买 nike

我需要创建类似于以下 JSON 实体的内容:

{
"foo": function() { *一些代码* }
}

任何常见的 JSON 库(json、jsonb、aeron 等)都可以轻松实现吗?我没有找到方法告诉库在编码时不要引用 function 部分。

谢谢,

附言我理解不允许这样使用的原因是为了强制执行正确的语法,但我愿意在这里冒险。

最佳答案

那不是 JSON 实体,而是 JavaScript 对象。 JSON没有函数的概念。

将函数编码为 JSON 的唯一方法确实是将其编码为字符串:

{ "foo": "function() { return \"Hello, World\" }" }

当您想在 JavaScript 中执行该函数时,您必须 eval字符串:

var jsonObj = JSON.parse('{ "foo": "function() {return \\"Hello, World\\";}" }');
var jfoo = eval('(' + jsonObj.foo + ')');
alert(jfoo()); // Shows a dialog box "Hello, World"

请注意,这允许 JSON 源在您的网站或应用程序的上下文中执行任意 JavaScript。因此,您应该尽可能传输数据而不是函数,并确保不要eval来自不受信任的来源的代码。

关于json - 编码 JSON 对象时如何避免使用引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7318542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com