• dymaic方式的Json序列化


    from:http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object

    If you are happy to have a dependency upon the System.Web.Helpers assembly, then you can use the Json class:

    dynamic data = Json.Decode(json);

    It is included with the MVC framework as an additional download to the .NET 4 framework. Be sure to give Vlad an upvote if that's helpful! However if you cannot assume the client environment includes this DLL, then read on.


    An alternative deserialisation approach is suggested here. I modified the code slightly to fix a bug and suit my coding style. All you need is this code and a reference to System.Web.Extensions from your project:

     View Code

    You can use it like this:

    string json = ...;  
    var serializer = new JavaScriptSerializer(); 
    serializer.RegisterConverters(new[] { new DynamicJsonConverter() });  
    dynamic obj = serializer.Deserialize(json, typeof(object));

    So, given a JSON string:

    { "Items":[ 
    { "Name":"Apple", "Price":12.3 }, 
    { "Name":"Grape", "Price":3.21 } ],
     "Date":"21/11/2010" }

    The following code will work at runtime:

    dynamic data = serializer.Deserialize(json, typeof(object));  
    data.Date; // "21/11/2010" 
    data.Items.Count; // 2 
    data.Items[0].Name; // "Apple" 
    data.Items[0].Price; // 12.3 (as a decimal) 
    data.Items[1].Name; // "Grape" 
    data.Items[1].Price; // 3.21 (as a decimal)
  • 相关阅读:
    必备单词
    Vim
    Linux基础
    python链表操作详解
    冒泡和快速排序
    学员练车选课系统
    面试题
    获取resp:heads:content-disposition的filename
    记录springBoot启动报错(无脑型)
    springBoot+Vue搭建新项目(1)
  • 原文地址:https://www.cnblogs.com/94cool/p/4225409.html
Copyright © 2020-2023  润新知