对象暴露在JSON Web的API - 如何停止的属性名称改变的情况下?

问题描述 投票:3回答:1

我有一个看起来像一个对象模型:

public class Product
{
    public string ProductCode { get; set; }
    public string ProductInfo { get; set; }
}

我通过小巧玲珑填充此,它暴露于angular.js消费者,但在JSON属性名现身为:

{
     "productCode": 1,
     "productInfo": "Product number 1"
}

请特别注意的驼峰。我想它匹配原始声明的名称,即

{
     "ProductCode": 1,
     "ProductInfo": "Product number 1"
}

我怎样才能做到这一点?

c# json asp.net-mvc
1个回答
6
投票

引擎盖下,它是最有可能的是,网络的API是使用JSON.Net作为JSON序列化引擎;这意味着你可以使用JSON.Net的属性,例如控制输出:

public class Product
{
    [JsonProperty("ProductCode")]
    public string ProductCode { get; set; }
    [JsonProperty("ProductInfo")]
    public string ProductInfo { get; set; }
}

如果没有这些,JSON.Net使用约定和配置 - 和一般的JSON约定将使用驼峰,因此,这是默认。您也可以或许更改默认配置,但除非你理解的影响范围我建议不要这一点。

© www.soinside.com 2019 - 2024. All rights reserved.