繁体   English   中英

如何使用C#将对象序列化为json

[英]how to serialize object into json using c#

我尝试使用

var myobject = JsonConvert.SerializeObject(Customer);

但是问题在于Customer属性就像

FirstName和我的服务需要json输入,例如firstName {"firstName":"Neo"}

声明JsonConvert.SerializeObject(Customer); 给我{"FirstName":"Neo"}这是错误的。

那么,当JsonConvert.SerializeObject发生时,如何更改首字母?

或如果使用Customer对象,则如何仅将一个参数用作输入json firstname

您应该使用Json.NET属性支持来自定义命名:

public class Customer
{
    [JsonProperty("firstName")]
    public string FirstName { get; set; }
}

您可以这样使用。 使用DataMember属性,它将如前所述进行序列化。

[DataContract(Namespace = "")]
public class Customer 
{
    [DataMember(Name = "firstName")]
    public string FirstName { get; set; }
}

您可以定义如何序列化数据。 使用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时,模拟方法可以作为解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM