2012-10-18 20 views
0

在我的MVC-4網絡API服務器,我收到一個包含它的名字空格的JSON字符串:如何在asp.net web-api中使用空格字段名稱接收Json?

{ "field name" : "some value" , "simpleName" : "some string" } 

我定義了一個Model類,如:

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

    public string SimpleName { get; set; } 
} 

現在SimpleName通過(儘管它是首字母大寫錯配,這很好),但FieldName變成了null

我怎樣才能成功地接收JSON的字段名稱中有空格(預定義 - 我無法更改客戶端數據源)?

回答

2

嘗試在你的類中添加[DataContract]:

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

    [DataMember] 
    public string SimpleName { get; set; } 
} 

下面是更多這方面的信息:

  • MSDN:「應用DataMemberAttribute屬性結合DataContractAttribute識別成員屬於數據合約一部分的類型
  • a Json.NET issue與DataMember的Name屬性有關忽略。分辨率爲「Put DataContract on the class。
+0

DataContract不起作用,我猜是因爲它不是'WCF'。但Json.NET似乎是答案。 – Tar

相關問題