web-dev-qa-db-ja.com

MonoでJSON文字列を逆シリアル化するにはどうすればよいですか?

C#(Mono)でJSON文字列を逆シリアル化するにはどうすればよいですか?

JSONライブラリとそのインストール方法の説明はありますか?私はFedora14を使用しています。

17
danidacar

jsonコントラクトシリアライザーを使用していません-代わりに Json.NET を使用しています。モノでも動作するはずです。
アセンブリをインストールする必要はありません。参照を追加して、最終的なパッケージで提供するだけです。

編集:
参照を追加する方法は?私はmono-devlop-erではありませんが... ここ から取得:

参照->参照の編集->。NETアセンブリ->ファイルを参照して選択します

それ以外の場合:ねえ、F1を押すだけです!

16

JSON.NETを見てください:

https://www.newtonsoft.com/json

機能:

  • .NETオブジェクトとJSONの間で変換するための柔軟なJSONシリアライザー
  • JSONを手動で読み書きするためのLINQto JSON
  • .NETの組み込みJSONシリアライザーよりも高速な高性能
  • インデントされた読みやすいJSONを書く
  • JSONをXMLとの間で変換する

シリアル化および逆シリアル化の例:

    using Newtonsoft.Json;
    ...

    public class Person
    {
        public string Name { get; set; }
        public DateTime Birthday { get; set; }
    }

    void PersonToJsonToPersonExample ()
    {
        var person = new Person { Name = "Bob", Birthday = new DateTime (1987, 2, 2) };

        var json = JsonConvert.SerializeObject (person);
        Console.WriteLine ("JSON representation of person: {0}", json);

        var person2 = JsonConvert.DeserializeObject<Person> (json);
        Console.WriteLine ("{0} - {1}", person2.Name, person2.Birthday);
    }
4
StackFlower