zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Python_Day3
    Python_Day2
    动漫推荐3.0 杂谈
    动漫推荐2.0 杂谈
    动漫推荐1.0 剧情向
    西湖十大特产
    一到春天 杭州西湖就美成了一幅画
    机械键盘十大品牌排行榜
    键盘的日常维护及清理
    无线键盘
  • 原文地址:https://www.cnblogs.com/94cool/p/4225409.html
Copyright © 2011-2022 走看看