我尝试使用
var myobject = JsonConvert.SerializeObject(Customer);
但Customer
属性中的问题就像
FirstName
我的服务期望像firstName
这样的json输入
{"firstName":"Neo"}
声明JsonConvert.SerializeObject(Customer);
给了我{"FirstName":"Neo"}
这是错误的。
那么当JsonConvert.SerializeObject发生时我如何更改第一个字母?
或者如果使用Customer对象,如何仅将一个参数作为输入json firstname
。
答案 0 :(得分:2)
您应该使用src来自定义命名:
public class Customer
{
[JsonProperty("firstName")]
public string FirstName { get; set; }
}
答案 1 :(得分:1)
你可以这样使用。使用DataMember
属性,它会按照提及的方式进行选择。
[DataContract(Namespace = "")]
public class Customer
{
[DataMember(Name = "firstName")]
public string FirstName { get; set; }
}
答案 2 :(得分:1)
您可以定义数据需要序列化的方式。 使用webapi时,我们可以在webapi配置的register方法中将CamelCasePropertyNamesContractResolver(json.net库的一部分)定义为格式化程序。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
}
上面的代码特别适用于webapi,但我相信在不使用webapi时,类似的方法可以成为解决方案。