gpt4 book ai didi

.net - 如何通过 service/WebInvoke 方法控制 JSON 反序列化对象的属性名称(大小写)

转载 作者:行者123 更新时间:2023-12-03 21:37:09 24 4
gpt4 key购买 nike

我正在使用这样的代码托管服务:

// Set up the test service
testServiceHost = new WebServiceHost(typeof(TestTrelloService), testServiceAddress);
testServiceHost.Open();

我正在将带有 RestSharp 的 PUT 发送到这样的方法:
[OperationContract]
[WebInvoke(Method = "PUT", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "cards/{cardId}?key={key}")]
public void UpdateCard(string key, string cardId, Card updatedCard)
{
// ...
}
keycardId来自 url/querystring,而 updatedCard 是请求正文(s JSON)。

如果我的 Card 类如下所示,则一切正常:
public class Card
{
public string id { get; set; }
// ...
}

正文中传递的 JSON 数据正确反序列化为 Card对象与 id属性集。

但是,我希望我的类(class)在属性上有不同的大小写。它实际上看起来像这样:
public class Card
{
public string Id { get; set; }
}

但是,这不起作用。我尝试添加各种属性来尝试和控制它(包括 [DataMember(Name="id")] ),但似乎没有任何效果。

有没有办法可以控制为我的 WebInvoke 完成的 JSON 反序列化的属性名称/服务方法?

最佳答案

好吧,现在我觉得很蹩脚……我修好了!

[DataContract]
public class Card
{
[DataMember(Name = "id")]
public string Id { get; set; }
}

我错过了 DataContract属性,这似乎是它读取 DataMember 所必需的属性!

关于.net - 如何通过 service/WebInvoke 方法控制 JSON 反序列化对象的属性名称(大小写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9149606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com