-2

私は以下のようなJSON構造を持っています。

  {"name":"user1","param":{"showid":"test"}}

JSON オブジェクトの値がフェッチされるプログラムに、JSON 構造の値を渡します。ただし、キー値は JSON オブジェクトごとに異なります。SO JSONオブジェクトが値を取得するための構造を作成できませんでした。

ie : 次回の JSON オブジェクトは以下のようになるかもしれません。

  {"name1":"user2","param1":{"showname":"test1"}}

c#でJSON構造からキーと値のペアを反復する方法は?

4

1 に答える 1

4

System.Web.Script.Serialization.JavaScriptSerializer (System.Web.Extensions.dll) を使用して、それをデータ型 "dynamic" に読み込むと、辞書のようにプロパティにアクセスできます。

または、リフレクションを使用して利用可能なプロパティ/フィールドを見つけ、フィールド/プロパティの値を取得できます。

public static Dictionary<string, object> ToPropertyDictionary(this object obj)
{
    var dictionary = new Dictionary<string, object>();
    foreach (var propertyInfo in obj.GetType().GetProperties())
        if (propertyInfo.CanRead && propertyInfo.GetIndexParameters().Length == 0)
            dictionary[propertyInfo.Name] = propertyInfo.GetValue(obj, null);
    return dictionary;
}
于 2013-07-11T05:56:19.210 に答える