【问题标题】:how to serialize object into json using c#如何使用c#将对象序列化为json
【发布时间】:2015-08-03 08:46:32
【问题描述】:

我尝试过使用

var myobject = JsonConvert.SerializeObject(Customer);

但问题在于Customer 属性就像

FirstName 和我的服务期待像 firstName 这样的 json 输入 {"firstName":"Neo"}

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

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

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

【问题讨论】:

    标签: javascript c# jquery json json.net


    【解决方案1】:

    您应该使用Json.NET attribute support 来自定义命名:

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

    【讨论】:

      【解决方案2】:

      您可以定义数据需要如何序列化。 使用 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 时,一个类似的方法可以成为一个解决方案。

      【讨论】:

        【解决方案3】:

        你可以这样使用。使用DataMember 属性,它会像上面提到的那样串行化。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-07-19
          • 1970-01-01
          • 2017-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-05
          相关资源
          最近更新 更多