gpt4 book ai didi

c# - 使用 Json.NET lib 通过 json 发送 javascript 函数

转载 作者:太空狗 更新时间:2023-10-30 00:27:51 26 4
gpt4 key购买 nike

我试图在 .Net 中通过 json 发送 javascript 函数,但在序列化对象时遇到问题。

javascript 库 Highcharts在其 json 对象上使用以下函数来自定义图表工具提示。

tooltip: {
formatter: function() {
var s;
if (this.point.name) { // the pie chart
s = ''+
this.point.name +': '+ this.y +' fruits';
} else {
s = ''+
this.x +': '+ this.y;
}
return s;
}
},

我正在尝试使用流行的 Json.NET使用匿名类型创建此类对象的库,但我所有的努力最终都序列化为一个字符串。任何帮助表示赞赏。谢谢!

最佳答案

我喜欢 ObOzOne 的回答,但仅使用 WriteRawValue 可以更简单一些。例如:

public class FunctionSerializer : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return (objectType == typeof(string));
}

public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
string valueAsString = Convert.ToString(value);

if (!string.IsNullOrWhiteSpace(valueAsString))
writer.WriteRawValue(valueAsString);
}
}

然后在您要序列化的属性上:

[JsonConverter(typeof(FunctionSerializer))]
public string HideExpression { get; set; }

关于c# - 使用 Json.NET lib 通过 json 发送 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4901859/

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