2012-03-09 9 views
0

MonodroidのSystem.Json名前空間を使用して、任意のオブジェクトをJSON文字列に変換するにはどうすればよいですか?私はそこにクラスを見る(JsonObject、JsonVlaueなど)、私はちょうど良いデシリアライズすることができます。しかし、シリアル化は私を逃しています。MonodroidのSystem.JsonでオブジェクトをJSONにシリアル化する方法は?

class MyModel 
{ 
    public string Name { get; set; } 
} 

あなたはJSONにオブジェクトをシリアル化するためにDataContractJsonSerializerクラスを使用することができます:

+0

私はSystem.Jsonの現在の答えが非常に軽量デシリアライズ - http://stackoverflow.com/questions/5399506/using-system-json-to-convert-c-sharp-arrays-and-objects-to-a-json-string and http://stackoverflow.com/questions/5026985/how-to-serialize-using-system-json-in-monotouch - ニュートンソフトのJson.NetまたはServiceStackのJSONサポートのポートを使用するほうが良いかもしれません。 – Stuart

+0

@Stuart:このコメントを回答にしてください私はそれを受け入れてこれを閉じることができます。ありがとう。 –

+0

:)完了!申し訳ありません、それは良いニュースではありませんでした! – Stuart

答えて

0

この例のモデルを使用して

var model = new MyModel {Name = "Greg"}; 
var serializer = new DataContractJsonSerializer(typeof (MyModel)); 

using (var stream = new MemoryStream()) 
{ 
    serializer.WriteObject(stream, model); 

    string json = Encoding.Default.GetString(stream.ToArray()); 

    Console.WriteLine(json); 
} 

そのコードが出力されます。このJSON:

{"Name":"Greg"} 

ビルトインの.NETシリアライゼーションライブラリに縛られていない場合は、0をチェックアウトすることができますまたはServiceStackも同様である。

+0

これは実際にあなたのために働くのですか?他の例では、MyModelクラスをDataContractとして、DataMemberとして直列化可能なパラメータとして装飾する必要があるため、私は不思議です –

関連する問題