2016-11-04 7 views
1

私はシリアル化したいオブジェクトを持っています、それをJsonNameValuePairと呼ぶことができます。Json.NETのオブジェクトのシリアル化を「スリム化」することは可能ですか?

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

    string Value { get; set; } 
} 

私はこのようなものになるだろうJson.NETを使用してJSONにこれをシリアル化した場合:相続人は何JsonNameValuePairのための私のコードは次のようになります

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

をこれがために信じられないほどかさばります私が実際に必要とするデータの量、私はが本当にの必要性のあるプロパティ名であり、プロパティの値はLabelであり、プロパティの有効な名前はValueです。私はここでXY Problemに苦しんでいますか?

基本的に、私は私のコードで行うことができるようにしたいことは

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

であり、私はこれをシリアル化するとき、私は私の出力は、このよう

{ 
    "My Property" : "The Value" 
} 

に見えるようにしたいようになります受信側のコードを大幅に簡単にして、データ呼び出しを小さくします。これはどのように達成できますか?

+0

なぜサーバー側で辞書を使用するだけでなく、必要なものを手に入れることができますか? – Jamiec

+1

JSONで動的キー名を使用することは一般的には** not **です。これにより、逆シリアル化する必要があるクライアントにとっては難しくなります。 https://github.com/WhiteHouse/api-standards#responses。 –

+0

@Jamiec Ugh ..そのように明白な痛い。 –

答えて

2

カスタムJsonConvertを使用することができます。 thisを確認してください。

関連する問題