码迷,mamicode.com
首页 > Web开发 > 详细

Json反序列化为动态类型(dynamic)

时间:2018-12-27 18:27:56      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:result   str   OLE   类型   pre   name   class   close   报错   

方法(依赖于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();

 

Json反序列化为动态类型(dynamic)

标签:result   str   OLE   类型   pre   name   class   close   报错   

原文地址:https://www.cnblogs.com/zhyue93/p/json_Deserialize.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!