2016-08-25 10 views
2

のために私はこのようなクラスを持っている:C#JSON.Net NullValueHandling一覧<object>

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); 

シリアル化されたオブジェクトList<media> mediaの結果はnullプロパティでいっぱいです。

[ 
{"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} 
] 

値をnullにしたくありません。 NullValueHandlingについて2つのことを試みましたが、私のために働いていません。

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/

私はList<object>シリアライズに取り組んでいないNullValueHandlingと思いますか?

List jsonでnull値を削除する方法はありますか?

答えて

1

私はあなたの問題を理解したので、jsonオブジェクト配列のプロパティを必要としません。これは、値を設定することです。これは現在のようにnullに設定されます。 その場合、匿名オブジェクトを作成してjsonにシリアル化する方法はありますか?匿名オブジェクトの配列を作成し、各オブジェクトで必要なプロパティのみを持ってから、json変換します。このためにはJObjectを使用します。

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

+0

ありがとうございます。これは私のために働く。 –