Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript C#序列化到JS对象而不引用某些值_Javascript_C#_Json_Json.net - Fatal编程技术网

Javascript C#序列化到JS对象而不引用某些值

Javascript C#序列化到JS对象而不引用某些值,javascript,c#,json,json.net,Javascript,C#,Json,Json.net,我正在从c#object创建一个javascript对象,其中一个属性是对js函数的引用,但是序列化对象时,该值周围有引号,使其成为普通字符串而不是函数。 这是电流输出: { "x": "functionNameToBeCalled" } 但我需要像这样 { "x": functionNameToBeCalled } 用Json.Net还是必须手动创建js对象 我尝试使用JsonPropertyAttribute,但无法确定要设置哪个属性 更改调用方法的方式,如下所示: window.z=

我正在从
c#object
创建一个
javascript对象
,其中一个属性是对
js函数的引用
,但是序列化对象时,该值周围有引号,使其成为普通字符串而不是函数。 这是电流输出:

{ "x": "functionNameToBeCalled" }
但我需要像这样

 { "x": functionNameToBeCalled }
Json.Net
还是必须手动创建js对象


我尝试使用
JsonPropertyAttribute
,但无法确定要设置哪个属性

更改调用方法的方式,如下所示:

window.z= function(){ console.log('hi');}
var b = { a: 'z'}
window[b.a]();

因此,无需更改json序列化行为。

手动创建自己的序列化方法。由于您使用的是json.NET,因此这看起来像是json.NET的副本。将
[JsonConverter(typeof(PlainJsonStringConverter))]
放在其值应序列化为原始无引号字符串的属性上。是的,因为
{“x”:functionNameToBeCalled}
无效。JSONcan无法更改调用方,它是第三方组件。