.NET 新浪微博开发:[1]JSON数据获取与解析

原文:http://jingyan.baidu.com/article/6dad5075ccae63a122e36e51.html?qq-pf-to=pcqq.c2c

本系列教程将详细讲解.NET下的新浪微博开发过程。在编写本节教程之前,小编已经熟读了网上大部分关于.NET(C#)关于新浪微博开发的教程,发现很多问题,比如大多数教程之解析到获得了返回的数据,至于返回的数据如何处理就只字不提。对数据处理方面,有的文章甚至需要再去删改数据的格式,这也是作者本身没有对JSON数据格式理解到位。针对上述存在的种种问题,小编就编写一套关于新浪微博API数据的获取与解析的教程。教程将尽量详碎,还请大师绕道,容我新人以学习空间。

工具/原料

  • 新浪微博平台账号,以及App Key、App Secret。

  • Microsoft Visual Studio 2010(或其他版本)

  • Newtonsoft.Json库(用来解析JSON数据)

方法/步骤

  1. 配置编译环境。

    添加Newtonsoft.Json。

    获取应用App Key、App Secret。

    .NET 新浪微博开发:[1]JSON数据获取与解析
  2. 添加引用:

    using Newtonsoft.Json;

    using Newtonsoft.Json.Linq;

    using System.Net;

    这一步也可以先略过,当编译器报错“未能找到类型或命名空间名称****”时,右键报错字符串->解析,点击相关库即可。

  3. 获取新浪微博返回数据:

    主要步骤如下所示,其他相关经验已经有详细介绍,这里不再赘述。主要内容就是返回新浪微博所回馈的内容。

    1.配置用于连接的账户以及所要调用API的地址,这里调用的接口功能是返回最新的公共微博,由URL字符串内的count参数控制所需返回的微博条数。

    2.初始化连接对象并验证用户权限。

    3.最后读取新浪微博API返回的数据。

    到最后一部分,如果一切正常,在变量content内存储的就是由新浪微博API根据请求以JSON格式返回的数据。

    .NET 新浪微博开发:[1]JSON数据获取与解析
  4. JSON数据解析

    当获得JSON数据结构后需要对返回的JSON数据结构有所了解,我们可以通过下边的截图看到返回的数据结构。由一个"statuses"包裹住了整个的JSON结构,这里的"statuses"是用来描述内部是存储何种数据。继续往里看,可以看到的是当前这条微博的详细信息,这些都可略过,主要看"user"字段,"user"字段描述的是微博作者的详细信息。

    因此我们面对这样一个三层的结构应该如何下手,就成了本篇经验的精髓所在:

    //获取"statuses"内所有字段的信息,在这里建议做一下优化,因为有时候网络原因content将得到返回的error字符串,如果还这样写系统就会报错

    JObject jo = (JObject)JsonConvert.DeserializeObject(content);

    string json = jo["statuses"].ToString();

    //将"statuses"字段内的数据边为JArray数组

    JArray ja = (JArray)JsonConvert.DeserializeObject(json);

    //然后我们就像调用数组一样调用JSON每层结构的内容了

    //以下内容是将微博内容、微博创建时间、微博作者名称添加到表中

    for (int i = 0; i < ja.Count; i++)

    {

        JObject obj = (JObject)ja[i];

        ListViewItem item = new ListViewItem(obj["text"].ToString());

        item.SubItems.Add(obj["created_at"].ToString());

        item.SubItems.Add(obj["user"]["name"].ToString());

        listViewRand.Items.Add(item);

    }

    .NET 新浪微博开发:[1]JSON数据获取与解析
  5. 至此,JSON数据获取与解析的全部工作都已经完成,下边是我做的一个简单的实例,返回微博的相关信息,乱码绝非BUG,只是包含链接内容就不显示了。

    感谢您的阅读,如果觉得这篇文章给您提供了一点点的帮助,请点个赞~

    .NET 新浪微博开发:[1]JSON数据获取与解析
    END

注意事项

  • 新浪微博根据不同的账号以及应用不同的状态会对请求有所限制,本文之做最简单的原理介绍,程序的健壮性还靠各位攻城狮的努力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值