有没有办法装饰int属性,以便将其序列化为字符串?

use*_*365 2 c# asp.net serialization json json.net

是否可以为类型为int的类的属性创建装饰器,以便将其序列化为字符串?

我有

    public class MyClass
    {
        [SerializeAsString] //this is what I want
        public int StreetCode { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

所以当我打电话

var jsonRequest = JsonConvert.SerializeObject(myClass);
Run Code Online (Sandbox Code Playgroud)

我希望它输出引号之间的值,而不是不带引号的int值。

ndo*_*hoe 5

这需要创建基于Newtonsoft.Json.Converter的自定义转换器。

然后,您将像这样使用转换器

[JsonConverter(typeof(ToStringConverter))]
public int StreetCode { get; set; }
Run Code Online (Sandbox Code Playgroud)