我正在嘗試編寫一個自定義合約解析器,該解析器在Newtonsoft.Json.Serialization中擴展DefaultContractResolver,目的是將ExpandoObject中的所有屬性轉換爲具有PascalCase屬性名稱。擴展DefaultContractResolver以將ExpandoObject子屬性轉換爲PascalCase
我的合同:
public class Fruit
{
public int Id { get; set; }
public ExpandoObject FruitProperties { get; set; }
}
我傳遞的以下數據:
{
"Id": "1234",
"FruitProperties" : {
"colour": "red",
"Taste": "sweet
}
}
}
我期待的結果如下:
{
"Id": "1234",
"FruitProperties" : {
"Colour": "red",
"Taste": "sweet"
}
}
我曾嘗試重寫ResolvePropertyName ,並且DefaultContractResolver中的CreateProperty方法沒有運氣。所有這些都跳過expando對象中的子屬性。有誰知道我需要重寫DefaultContractResolver中的什麼方法來將Expando中的子屬性名稱轉換爲PascalCase?