将JSON填充到C#类,反之亦然

时间:2017-04-14 22:15:28

标签: json class serialization json.net

我有一个现有REST API的JSON结构,我用它来使用Newtonsoft.Json(JSON.Net)填充不同的类。

我想创建一个将填充相同REST API JSON结构的向导。

我遇到的问题是我的类命名约定与API JSON命名约定不同。

我的问题是:我是否应该使用与REST API JSON结构相同的命名约定来使用 ul { margin-left: 1.25rem; list-style-type: disc; } ,或者我应该创建一个与JSON结构匹配的JSON字符串?

1 个答案:

答案 0 :(得分:0)

我会提供第三种选择。您可以使用[JsonProperty]属性标记类属性,以将它们与不同命名的JSON属性相匹配。这样,您就不需要在类中更改JSON或命名约定。这是一个简单的例子:

JSON:

{
    "item-identifier": 1234,
    "item-name": "foo"
}

班级定义:

public class Item
{
    [JsonProperty("item-identifier")]
    public int Id { get; set; }

    [JsonProperty("item-name")]
    public string Name { get; set; }
}

要反序列化:

Item item = JsonConvert.DeserializeObject<Item>(json);

小提琴:https://dotnetfiddle.net/bwa1SM