Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
如何在asp.net web api中接收带空格字段名称的Json?_Json_Asp.net Web Api_Json.net - Fatal编程技术网

如何在asp.net web api中接收带空格字段名称的Json?

如何在asp.net web api中接收带空格字段名称的Json?,json,asp.net-web-api,json.net,Json,Asp.net Web Api,Json.net,在我的MVC-4 Web API服务器中,我收到一个Json字符串,该字符串的名称中包含空格: { "field name" : "some value" , "simpleName" : "some string" } 我定义了一个模型类,例如: public class SomeJsonModel { [DataMember(Name = "field name")] public string FieldName { get; set; } public str

在我的MVC-4 Web API服务器中,我收到一个Json字符串,该字符串的名称中包含空格:

{ "field name" : "some value" , "simpleName" : "some string" }
我定义了一个
模型
类,例如:

public class SomeJsonModel
{
    [DataMember(Name = "field name")]
    public string FieldName { get; set; }

    public string SimpleName { get; set; }
}
现在,
SimpleName
通过(尽管它的第一个字母大写不匹配,这很好),但是
FieldName
变为
null


如何成功接收字段名称中有空格的Json(预定义-我无法更改客户端数据源)?

尝试在类中添加[DataContract]:

[DataContract]
public class SomeJsonModel
{
    [DataMember(Name = "field name")]
    public string FieldName { get; set; }

    [DataMember]
    public string SimpleName { get; set; }
}
以下是有关此的更多信息:

  • on:“将DataMemberAttribute属性与DataContractAttribute一起应用,以标识属于数据协定一部分的类型的成员。”
  • 与被忽略的DataMember的Name属性相关的。解决方案是“将DataContract放在类上”

  • DataContract
    不起作用,我想是因为它不是
    WCF
    。但Json.NET似乎是答案。