zoukankan      html  css  js  c++  java
  • C# -- 把json字符串转为对象并读取各属性的值

    前面2种方法是不需要声明一个Json字符串的类型即可把Json字符串转换为Dictionary对象

    而第3种方法则是声明一个Json字符串的强类型对象,然后反序列化为该对象的数据。

    List<string> list = new List<string>();
                string json = JsonConvert.SerializeObject(new { Name = "jeff", Age = 23, Code = "f04536a3-832c-4ebd-95d0-15af82dbb1a2", PhoneNumber = "15902104019" });
                IDictionary<string, JToken> data = JsonConvert.DeserializeObject<JObject>(json);
                foreach (var i in data)
                {
                    string key = i.Key;
                    var value = i.Value;
                    if (value.Type.ToString() == "String")
                    {
                        list.Add(value.ToString());
                    }
                }


                var result = JsonConvert.DeserializeObject<IDictionary<stringobject>>(json);
                var name = result["Name"];
                var age = result["Age"];

                foreach (var p in result.Keys)
                {
                    var value = result[p];
                }

                int j = 0;
                foreach (var p in result)
                {
                    var key = p.Key;
                    var value = p.Value;
                    var type = p.Value.GetType();
                    if (type == typeof(string))
                    {
                        j += 1;
                    }
                }

                clsTest obj = JsonConvert.DeserializeObject<clsTest>(json);
                var name1 = obj.GetType().GetProperty("Name");
                foreach (var p in obj.GetType().GetProperties())
                {
                    var type = p.GetType().Name;
                    var key = p.Name;
                    var value = p.GetValue(obj);
                }
  • 相关阅读:
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    深入理解系统调用
    基于mykernel2.0编写一个操作系统内核
    如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?
    如何评测软件工程知识技能水平?
    深入理解TCP协议及其源代码
    Socket与系统调用深度分析
    创新产品的需求分析:未来的图书会是什么样子?
    构建调试Linux内核网络代码的环境MenuOS系统
    解决npm ERR! code ELIFECYCLE npm ERR! errno 1问题
  • 原文地址:https://www.cnblogs.com/itjeff/p/4514575.html
Copyright © 2011-2022 走看看