相关疑难解决方法(0)

Json.net将数字属性序列化为字符串

我正在使用JsonConvert.SerializeObject来序列化模型对象.服务器期望所有字段都是字符串.我的模型对象具有数字属性和字符串属性.我无法向模型对象添加属性.有没有办法将所有属性值序列化,就好像它们是字符串一样?我必须只支持序列化,而不是反序列化.

c# json json.net

4
推荐指数
1
解决办法
6580
查看次数

WebApi自定义JsonConverter未调用

我为Guids实现了一个自定义的JsonConverter.

如果我在序列化类的属性(类型为Guid)上声明它,就像这样

[JsonConverter(typeof(JsonGuidConverter))]
Run Code Online (Sandbox Code Playgroud)

然后它被调用并且工作正常.

但是,我想"自动"使用它,而不需要属性,所以我这样做:

var formatters = GlobalConfiguration.Configuration.Formatters;
var jsonFormatter = formatters.JsonFormatter;
jsonFormatter.SerializerSettings.Converters.Add(new JsonGuidConverter());
Run Code Online (Sandbox Code Playgroud)

不幸的是,这导致我的转换器永远不会被调用 我在MVC 5.1项目中使用WebApi 2.1.

有任何想法吗?

编辑:这是转换器代码

public class JsonGuidConverter : JsonConverter
{
    public override bool CanRead
    {
        get
        {
            // We only need the converter for writing Guids without dashes, for reading the default mechanism is fine
            return false;
        }
    }
    public override bool CanWrite
    {
        get
        {
            return true;
        }
    }

    public override bool CanConvert(Type objectType)
    {
        return objectType == typeof(Guid) || objectType == …
Run Code Online (Sandbox Code Playgroud)

json asp.net-web-api

3
推荐指数
1
解决办法
2078
查看次数

标签 统计

json ×2

asp.net-web-api ×1

c# ×1

json.net ×1