zoukankan      html  css  js  c++  java
  • Json反序列化为动态类型(dynamic)

    方法(依赖于Newtonsoft.Json):

    /// <summary>
    /// 反序列化json字符串
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="jsonText"></param>
    /// <returns></returns>
    public static T FromJson<T>(string jsonText)
    {
        var json = new JsonSerializer
        {
            NullValueHandling = NullValueHandling.Ignore,
            ObjectCreationHandling = ObjectCreationHandling.Replace,
            MissingMemberHandling = MissingMemberHandling.Ignore,
            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
        };
    
        var sr = new StringReader(jsonText);
        var reader = new JsonTextReader(sr);
        var result = (T)json.Deserialize(reader, typeof(T));
        reader.Close();
    
        return result;
    }
    string jsonData = "{"column":"1"}";//,"rows":"4"
    dynamic jsonObj = JsonHelper.FromJson<dynamic>(jsonData);
    string rows = jsonObj.rows;//不会报错 结果为null
    Console.WriteLine(rows);
    Console.ReadKey();
  • 相关阅读:
    whoami
    w
    id
    su
    chpasswd
    chage
    password
    scrapy框架中Download Middleware用法
    scrapy框架持久化存储
    scrapy框架中Item Pipeline用法
  • 原文地址:https://www.cnblogs.com/zhyue93/p/json_Deserialize.html
Copyright © 2011-2022 走看看