1. ホーム
  2. c#

[解決済み] Newtonsoft JSONデシリアライズ

2023-05-02 12:02:44

質問

私のJSONは以下の通りです。

{"t":"1339886","a":true,"data":[],"Type":[['Ants','Biz','Tro']]}

Newtonsoft JSON.NET deserialize library for C#を見つけました。以下のように使ってみました。

object JsonDe = JsonConvert.DeserializeObject(Json); 

どのようにすれば JsonDe オブジェクトにアクセスして、すべての "Type" データを取得するにはどうしたらよいでしょうか。ループで試してみましたが、オブジェクトに列挙者がいないため、うまくいきません。

どのように解決するのですか?

JSONにあるフィールドを保持するクラスを実装すればいいのです

class MyData
{
    public string t;
    public bool a;
    public object[] data;
    public string[][] type;
}

で、DeserializeObjectの汎用版を使用します。

MyData tmp = JsonConvert.DeserializeObject<MyData>(json);
foreach (string typeStr in tmp.type[0])
{
    // Do something with typeStr
}

ドキュメンテーション JSONのシリアライズとデシリアライズ