【问题标题】:parse Json with key "params" in mvc4用mvc4中的关键“参数”解析Json
【发布时间】:2015-08-11 14:23:27
【问题描述】:

我通过来自外部服务的 HTTP-POST 接收到一个 json 字符串(这是我无法控制的)。此 json 中的键之一是 params:{...},

我需要将此 json 映射到一个类 MyClass。这很简单,要不是因为params 是 C# 中的关键字..

我尝试过使用 Newtonsofts json.NET(版本 7.0.0)库,并在 MyClass 中有以下内容:

    [JsonProperty(PropertyName = "params")]
    public TrustlyNotifParams Parameters { get; set;}

但是Parameters 最终会变成null。发布的 json 具有参数的嵌套值,我通过日志记录看到了这一点。

层次结构中Parameters 之上的所有内容都被解析得很好。我在这里做错了什么?

【问题讨论】:

  • 你可以使用关键字,你只需要像public TrustlyNotifParams @params { get; set; }一样使用它,否则你介意发布一个完整的JSON示例,以便我们看看问题可能是什么?
  • 太棒了,我不知道你能做到这一点!让它成为一个答案,我会接受它! =) 也赞成...

标签: c# json asp.net-mvc-4 json.net


【解决方案1】:

您可以(请谨慎)将关键字作为属性或变量的名称,您只需要告诉编译器这样对待它。这与您告诉它将字符串视为文字而不是使用转义序列的方式相同:

public TrustlyNotifParams @params { get; set; }

@ 符号告诉编译器将以下内容视为变量、字段、属性名称等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多