gpt4 book ai didi

javascript - 使用 json.net 序列化为对象

转载 作者:行者123 更新时间:2023-11-29 10:53:51 25 4
gpt4 key购买 nike

我希望将某些属性序列化为“对象”而不是字符串。例如

{"onClickHandler": OnClickHandler, "onMouseOut": OnMouseOutHandler}

类定义是这样的:

public class handlers {

public string OnClickHandler;
public string OnMouseOutHandler;

}

目前显示为:

handlers: {"onClickHandler": "OnClickHandler", "onMouseOut": "OnMouseOutHandler"}

您可以猜到,这些是客户端事件处理程序,对应于在别处定义的 javascript 函数。通过在引号内发出它们,它们不会被解释为函数,而是解释为文字字符串。

编辑:

从 Dave 的回答中得到启发,想出了一个办法:

先擦洗一下:

for (var handler in this.handlers) {
if(window[this.handlers[handler]])
this.handlers[handler] = window[this.handlers[handler]];
};

然后正常调用jQuery bind

 $elem.bind(this.handlers);

接受 Dave 最接近的回答。

最佳答案

JSON不支持表示函数。 JSON 由值数组和对象(包含变量)组成。 JSON 中的值只能是字符串、数字、对象或数组(请参阅链接页面以获得漂亮的语法图)。

您要的是 javascript 代码,而不是 JSON 对象。如果您想发出对别处定义的函数的引用,您可能不得不(不寒而栗)使用 eval 来执行它。

关于javascript - 使用 json.net 序列化为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4494443/

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