我目前的ASP.NET Web API,我返回Model對象一樣從我的REST操作如下工作:管理屬性名稱以JSON返回從網頁API
產品與性能:Name, Id, Description, etc.....
當這被轉換爲一個JSON
對象,它會使用上面的屬性名稱輸出它。
要減少從web api操作返回的有效負載,是否有任何方法可以更改JSON對象中的屬性,例如Description
的Desc
。我可以改變模型對象,但屬性名稱是沒有道理的!
我目前的ASP.NET Web API,我返回Model對象一樣從我的REST操作如下工作:管理屬性名稱以JSON返回從網頁API
產品與性能:Name, Id, Description, etc.....
當這被轉換爲一個JSON
對象,它會使用上面的屬性名稱輸出它。
要減少從web api操作返回的有效負載,是否有任何方法可以更改JSON對象中的屬性,例如Description
的Desc
。我可以改變模型對象,但屬性名稱是沒有道理的!
您也可以考慮在asp.net端使用http://automapper.org/將您的完整對象映射到更輕量級的對象。對於一兩個小物體可能會過度殺傷,但是如果你有一堆這樣做可以節省你一些時間(免費和開源的引導)。
這樣做的簡單方法是通過數據合同。 Here is an article,但基本上,它涉及您的模型上的兩個註釋。它也允許你忽略任何你不想序列化的東西。
[DataContract]
public class Foo { //Your model class
[DataMember(Name="bar-none")] //This also allows you to use chars like '-'
public string bar {get; set;}
[IgnoreDataMember] //Don't serialize this one
public List<string> fuzz { get; set;}
}
這對於我的目的來說是完美的,這與OP的相同。 –
您可能還需要添加對默認情況下未添加的System.Runtime.Serialization的引用。 http://stackoverflow.com/questions/7401795/namespace-for-datacontract – geon