zoukankan      html  css  js  c++  java
  • dynamic获取类型可变的json对象

    使用dynamic获取类型可变的json对象

    Dictionary<string, object> dict = new Dictionary<string, object>();
    List<dynamic> lst = new List<dynamic>() { new { aa = 1, bb = "2" } };
    Type type = lst[0].GetType();
    var ps = type.GetProperties();
    string[] propertyNames = ps.Select(p => p.Name).ToArray();
    foreach (var prop in propertyNames)
    {
    object propValue = type.GetProperty(prop).GetValue(lst[0], null);
    string value = (propValue != null) ? propValue.ToString() : "";
    if (!dict.ContainsKey(prop))
    {
    dict.Add(prop, value);
    Console.WriteLine("prop:" + prop + ", value:" + value);
    }
    }

     

    Console.WriteLine("*********************************************************");
    var serializer = new JavaScriptSerializer();
    string json = "{"banme":"asd"}";
    dynamic data = serializer.Deserialize(json, typeof(object)) as dynamic;
    var s = data.GetType().GetProperties();
    dict.Clear();
    foreach (var prop in data.Keys)
    {
    var value = data[prop];
    if (!dict.ContainsKey(prop))
    {
    dict.Add(prop, value);
    Console.WriteLine("prop:" + prop + ", value:" + value);
    }
    }
    Console.Read();

  • 相关阅读:
    有点难度的二分
    请教神牛_字符串hash
    引水进城
    dp的斜率优化
    关于学习oi的一些事项
    永续债
    消费税
    增值税
    BSC交流
    钉钉吐槽功能点
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/6228101.html
Copyright © 2011-2022 走看看