分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

利用爱奇艺开放平台实现视频托管回调播放(二)——解析获取授权返回的JSON字符串

发布时间:2023-09-06 01:17责任编辑:蔡小小关键词:暂无标签

由于获取授权返回的是如下格式的JSON字符串:

1 {2 ????‘code’: A0000,3 ????‘data’: 4 ????{5 ????????‘access_token’: ACCESS_TOKEN, // 访问令牌6 ?????????‘expires_in’ : 60, // 过期时间7 ?????????‘refresh_token’: REFRESH_TOKEN, // 刷新令牌8 ????}9 }

那么接下来就要解析这个字符串来获取相应的信息,比如状态码和访问令牌。

在.NET 环境下 解析JSON有多种方式。可以自己手写一个简单的解析程序,当然最方便的还是利用现成的库。我采用的是System.Web.Extensions程序集中的JavaScriptSerializer类。

之前没接触过JSON,只知道跟XML类似。知乎上叶大有个利用C语言实现一个简单的JSON解析器的系列文章,之前一直说得好好学习一下,然而一直停留在第一篇。果然,对于我来说学习最好的动力是必须要用了,才会主动去学。找了几个示例代码浏览了一下,然后自己动手也算有模有样的把目的实现了,也不知道这个套路对不对。

首先,根据这个JSON字符串构建了一个对应的类:

 1 ????/// <summary> 2 ????/// 授权返回结果类 3 ????/// </summary> 4 ????[Serializable] 5 ????[DataContract] 6 ????public class AuthorResult 7 ????{ 8 ?9 ????????[DataMember(IsRequired = false)]10 ????????public Token data { get; set; }11 12 ????????[DataMember(IsRequired = false)]13 ????????public string code { get; set; }14 15 ????????[DataMember(IsRequired = false)]16 ????????public string msg { get; set; }17 18 19 ????}

AuthorResult类包含3个属性:data、code、msg。其中code表示状态码,msg表示提示信息,data是自定义的Token类包含令牌、过期时间、刷新令牌属性,定义如下:

[Serializable]和[DataContract]是我参考别人代码写上的,貌似不写也可以
 1 ????/// <summary> 2 ????/// 令牌类 3 ????/// </summary> 4 ????public class Token 5 ????{ 6 ????????public string access_token { set; get; } 7 ?8 ?9 ????????public int expires_in { set; get; }10 11 12 ????????public string refresh_token { set; get; }13 14 ????}

access_token、expires_in、refresh_token分别表示令牌、过期时间、刷新令牌。

对应的类构建完毕后,就可以使用JavaScriptSerializer类的Deserialize<T>()泛型方法来反序列化该对象。

利用爱奇艺开放平台实现视频托管回调播放(二)——解析获取授权返回的JSON字符串

原文地址:http://www.cnblogs.com/zhang-15-506/p/7662229.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved