c# JSON.Net NullValueHandling for List<object>

本文关键字:lt object gt List JSON Net NullValueHandling for | 更新日期: 2023-09-27 18:04:03

我有一个这样的类:

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<media> 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:如何使用json.net

忽略类if为null的属性

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

我认为NullValueHandling不工作在List<object>序列化?

我如何删除空值在我的列表json?

c# JSON.Net NullValueHandling for List<object>

正如我理解你的问题,你不需要在json对象数组的属性,你没有设置值-这将被设置为空,因为你现在得到。在这种情况下,如何创建一个匿名对象,然后将其序列化为json?创建一个匿名对象的数组,只有你需要在每个对象的属性,然后做一个json转换。

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