1. ホーム
  2. c#

[解決済み】JSONの文字列をC#のオブジェクトに変換する

2022-04-10 05:27:25

質問

C#でJSONの文字列をオブジェクトに変換しようとしています。本当に簡単なテストケースを使用しています。

JavaScriptSerializer json_serializer = new JavaScriptSerializer();
object routes_list = json_serializer.DeserializeObject("{ \"test\":\"some data\" }");

問題は、routes_list が決して設定されないことです; それは未定義のオブジェクトです。何かアイデアはありますか?

解決方法は?

生のオブジェクトにデシリアライズしようとしているようですね。 変換先のオブジェクトを表すクラスを作成することができます。 これは、より大きなオブジェクトやJSON文字列を扱っている場合に便利です。

例えば

  class Test {

      String test; 

      String getTest() { return test; }
      void setTest(String test) { this.test = test; }

  }

そうすると、デシリアライズのコードは次のようになります。

   JavaScriptSerializer json_serializer = new JavaScriptSerializer();
   Test routes_list = 
          (Test)json_serializer.DeserializeObject("{ \"test\":\"some data\" }");

詳細については、このチュートリアルを参照してください。 http://www.codeproject.com/Tips/79435/Deserialize-JSON-with-Csharp.aspx