【问题标题】:c# JSON.Net NullValueHandling for List<object>c# JSON.Net NullValueHandling for List<object>
【发布时间】:2016-08-25 01:11:42
【问题描述】:

我有这样的课:

public class media
{
    public string id { get; set; }
    public string code { get; set; }
    public string url { get; set; }
    public string comment_count { get; set; }
    public string like_count { get; set; }

    public int no { get; set; }
}

我创建一个列表

List<media> my_stack = new List<media>();

我在列表中添加了一些媒体;

media new_media = new media();

new_media.id = "some id";
new_media.code = "value";
new_media.url = "value";

my_stack.Add(new_media);

new_media = new media();

new_media.id = "some id";
new_media.url = "value";

my_stack.Add(new_media);

new_media = new media();

new_media.id = "some id";
new_media.url = "value";
new_media.code = "value";
new_media.comment_count = "value";
new_media.like_count = "value";

my_stack.Add(new_media);

当我 SerializeObject List&lt;media&gt; media 结果充满了空属性。

[
{"id":"some id", "code":"value", "url":"value","comment_count":null, "like_count": null, "no":0},
{"id":"some id", "code":null, "url":"value","comment_count":null, "like_count": null, "no":0},
{"id":"some id", "code":"value", "url":"value","comment_count":"value", "like_count": "value", "no":0}
]

我不想为空值。 我尝试了关于 NullValueHandling 的两件事,但对我不起作用。

1:How to ignore a property in class if null, using json.net

2:http://www.tecsupra.com/serializing-only-some-properties-of-an-object-to-json-using-newtonsoft-json-net/

我认为 NullValueHandling 不适用于 List&lt;object&gt; 序列化?

如何删除 List json 中的空值?

【问题讨论】:

    标签: c# json null json.net


    【解决方案1】:

    据我了解您的问题,您不需要设置值的 json 对象数组中的属性 - 现在将设置为 null。 在这种情况下,创建一个匿名对象然后将其序列化为 json 怎么样?创建一个匿名对象数组,在每个对象中只包含您需要的属性,然后进行 json 转换。为此使用 JObject。

    http://www.newtonsoft.com/json/help/html/CreateJsonAnonymousObject.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 2017-09-03
      • 2023-03-08
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多