gpt4 book ai didi

javascript - JSON.parse 里面有函数

转载 作者:行者123 更新时间:2023-11-30 13:58:09 25 4
gpt4 key购买 nike

我有一个字符串,如果我将它转换为 OBJ,它就可以正常工作。

var obj = JSON.parse('{ "placeholder": "Hello...."} ');

然后我就这样放到tagEditor插件里面$('textarea').tagEditor(obj);

但我还需要以这种方式评估内部是否存在一个函数并且它是否有效。

var obj = JSON.parse('{ "placeholder": "Hello....", "onChange":"function(a,b,c)}{ }"} ');

我把它....... $('textarea').tagEditor(obj);

但是当我这样做时我得到了错误未捕获的语法错误:JSON 中位置 38 处的意外字符串

其实我想评估的是字符串的函数,正如您所看到的,当我将事件“onchange”和对象中的函数放在一起时,它必须对其进行评估以使插件正常工作有谁知道如何解决这个问题?

最佳答案

您应该首先声明该函数,然后在该函数上调用 toString(这将自动转义 ',这是您当前语法中的问题):

function x(a, b, c){
return '';
}
const stringified = JSON.stringify({
placeholder: "Hello....",
onChange: x.toString()
});

具体来说,因为函数属性值的字符串分隔符使用',所以您需要转义内部使用的'。 (转

"onChange":"function(a,b,c)}{ return ''; }"

进入

"onChange":"function(a,b,c)}{ return \'\'; }"

)

但我不建议手动执行此操作,它会非常乏味且容易出错 - toString() 方法可能是更好的选择。

关于javascript - JSON.parse 里面有函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820658/

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