-2

我有一个如下所示的 JSON 结构。

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

我会将 JSON 结构的值传递给一个程序,在该程序中将提取 JSON 对象的值。但是每个 JSON 对象的键值会有所不同。所以我无法为 JSON 对象创建一个结构来检索值。

ie : 下一次 JSON 对象可能如下所示。

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

如何从c#中的JSON结构中迭代键值对?

4

1 回答 1

4

您可以使用 System.Web.Script.Serialization.JavaScriptSerializer (System.Web.Extensions.dll) 并将其加载到“动态”数据类型中,然后您可以像字典一样访问属性。

或者您可以使用反射来查找可用的属性/字段,并获取字段/属性的值。

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 回答