zoukankan      html  css  js  c++  java
  • 反序列化网易miniblog json格式数据 原创 create by lee

         我写这篇文章是在于自己热于发现一些解决问题的新方式,通常我在分析json格式的数据,喜欢用正则,但往往不够理想 可能正则水平也不到位吧。呵呵。

     首先拿到数据源

    代码
    public  class ooojj
        {

            
    public userObj user { getset; } //对象
            public string is_retweet { getset; }
            
    public string retweet_count { getset; }
            
    public string retweet_followed_count { getset; }
            
    public string favorited { getset; }
            
    public Tl timeline { getset; } //对象
            public string rootReplyCount { getset; }
            
    public string rootReplyUserName { getset; }
            
    public string rootReplyText { getset; }
            
    public string rootReplyTruncated { getset; }
            
    public string rootReplySource { getset; }
            
    public string rootReplyCreatedAt { getset; }
            
    public string rootReplyRetweetCount { getset; }
            
    public string rootReplyUserScreenName { getset; }
            
    public RootActive rootActivityIcon { getset; } //对象
            public string id { getset; }
            
    public string source { getset; }
            
    public string created_at { getset; }
            
    public string text { getset; }
            
    public string truncated { getset; }
            
    public string rootReplyId { getset; }


        


        }
      public class RootActive
        {
            
    public string isLantern1 { getset; }
            
    public string isLantern2 { getset; }
            
    public string isLantern3 { getset; }

        }
     public class Tl
        {
            
    public string  Name {get;set;}
            
    public string time{get;set;}
        }
    代码
     public class userObj
        {
            
    public string name{get;set;}
            
    public string id{get;set;}
            
    public string profile_image_url{get;set;}
            
    public string screen_name{get;set;}
            
    public string profile_image_url_large{get;set;}
            
    public string profile_image_url_small{get;set;}
         
    //   public string name{get;set;}

        }

    这个四个实体是用来装载他这个网易json格式的实体。 建议用http analyze工具分析它的格式,原理先分析它的json基础结构,构成装载模型,然后反序列化装载。

    代码
    /// <summary>
            
    /// 将 JSON 转换为对象
            
    /// </summary>
            
    /// <typeparam name="T"></typeparam>
            
    /// <param name="s"></param>
            
    /// <returns></returns>
            public static T FromJson<T>(this string s)
            {
                var serializer 
    = new JavaScriptSerializer();
                
    return serializer.Deserialize<T>(s);
            }

    最后调用你所代码,实现你的结果

      string content = FileHelper.ReadFile(@"\TextFile1.txt");
               List<ooojj> list=  JsonUtility.FromJson<List<ooojj>>(content);

  • 相关阅读:
    react路由组件&&非路由组件
    react函数式组件(非路由组件)实现路由跳转
    react使用antd组件递归实现左侧菜单导航树
    【LeetCode】65. Valid Number
    【LeetCode】66. Plus One (2 solutions)
    【LeetCode】68. Text Justification
    【LeetCode】69. Sqrt(x) (2 solutions)
    【LeetCode】72. Edit Distance
    【LeetCode】73. Set Matrix Zeroes (2 solutions)
    【LeetCode】76. Minimum Window Substring
  • 原文地址:https://www.cnblogs.com/chenli0513/p/1869229.html
Copyright © 2011-2022 走看看