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);

  • 相关阅读:
    Variable() placeholder() constant() 的区别
    scrapy-redis+selenium+webdriver 部署到linux上
    scrapy-redis+selenium+webdriver解决动态代理ip和user-agent的问题(全网唯一完整代码解决方案)
    [学习记录]NLTK常见操作二(分句,分词,词干提取)
    [学习记录]NLTK常见操作一(去网页标记,统计词频,去停用词)
    [学习记录]python正则表达式
    [学习记录]MySQL之初级查询语句(select,where)
    [学习记录]pymysql的基本操作
    [学习记录]MySQL临时整理
    [学习记录]面对wxpython的长跑(100米:wxpython安装,相关文件,wx.App,wx.Frame)
  • 原文地址:https://www.cnblogs.com/chenli0513/p/1869229.html
Copyright © 2011-2022 走看看