sohu邮箱的联系人获取

通过抓包获取到的字符串如jsonString所示,有对反序列化熟悉的同学能提供个类不

string jsonString = @"{
""black"": [],
""white"": [],
""contact"": [
{
""pinyin"": """",
""nickname"": ""r"",
""id"": 575056787,
""email"": ""codemo@126.com""
},
{
""pinyin"": """",
""nickname"": ""r6"",
""id"": 575074340,
""email"": ""codemo@163.com""
},
{
""pinyin"": """",
""nickname"": ""yi"",
""id"": 574975530,
""email"": ""codemo@qq.com""
},
{
""pinyin"": """",
""nickname"": ""小燕子"",
""id"": 585384353,
""email"": ""codemo22@163.com""
}
],
""group"": [],
""recent"": []
}";

#region 通讯录收取
string rg_count = "contact\": [[](?<count>.*?)[]]";
string[] k = EmailHelp.GetRegValue(jsonString, rg_count, "count");
string[] nickname = EmailHelp.GetRegValue(k[0], "nickname\":(?<nickname>.*?)[,]", "nickname");
string[] email = EmailHelp.GetRegValue(k[0], "email\":(?<email>.*?)[}]", "email");
string path = string.Format(@"C:\mail\" + "codemo@sohu.com");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
StreamWriter sw = new StreamWriter(path + '\\' + "sohuContacts.csv");
//列名
sw.WriteLine("昵称,邮件账号 ");
//遍历datatable导出数据
for (int i = 0; i < nickname.Length; i++)
{
StringBuilder sbText = new StringBuilder();
sbText.Append(nickname[i] + ',' + email[i]);
//写datatable的一行
sw.WriteLine(sbText.ToString());
}
sw.Flush();
sw.Close();
#endregion

posted @ 2012-05-17 10:06  代码示例  阅读(623)  评论(1)    收藏  举报
编辑推荐:
· 糊涂啊!这个需求居然没想到用时间轮来解决。
· 浅谈为什么我讨厌分布式事务
· 在 .NET 中使用内存映射文件构建高性能的进程间通信队列
· 一个 java 空指针异常的解决过程
· 揭开 SQL Server 和 PostgreSQL 填充因子的神秘面纱
阅读排行:
· 从硬盘爆满到 GitHub 封号,一位前端开发者的开源历险记
· 微软又一自动化开源王炸,Selenium 慌了!
· 微服务的10大问题
· 糊涂啊!这个需求居然没想到用时间轮来解决。
· 性能优化:两条SQL索引优化,CPU占用率从40%降至25%
点击右上角即可分享
微信分享提示