是否可以减少"减少" Json.NET的对象序列化?

时间:2016-11-04 13:34:42

标签: c# json json.net

我有一个想要序列化的对象,我们称之为JsonNameValuePair。下面是我JsonNameValuePair的代码可能是什么样的:

public class JsonNameValuePair
{
    string Label { get; set; }

    string Value { get; set; }
}

如果我使用Json.NET将其序列化为Json,我会得到类似这样的内容:

{
    "label":"Name",
    "value":"Area 3"
}

但是对于我实际需要的数据量来说,这是非常笨重的,我真正需要的是要删除的属性名称,以及属性Label的值是"有效"属性Value的名称。我在这里遇到了XY Problem

基本上,我希望能够在代码中执行的操作是

JsonNameValuePair myPair = new JsonNameValuePair()
{
    Label = "My Property",
    Value = "The Value"
}

当我序列化时,我希望我的输出看起来像

{
    "My Property" : "The Value"
}

因为这会使接收端的代码变得更加容易,并且会使数据调用更小。如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可以使用自定义JsonConvert。 检查this这正是您所需要的。