调用CSDN的开发API——>博客接口——>获取博客系统分类【1】

最近需要从CSDN上获取些信息,所以发现了CSDN有一些开发的API,很好用,这里就慢慢总结了,今天首先实验的是获取博客系统分类,这个分类是CSDN系统自己的分类,并不是每个人博客的自定义分类。所以这个获取不需要用户信息验证。你也可以通过这个网址实现查看下CSDN博客专栏首页的系统分类(这里可能显示不完整。但是显示的都是系统分类)。博客专栏地址是:http://blog.csdn.net/column.html

截图如下:



根据CSDN的API:http://open.csdn.net/wiki/api/blog/getchannel


开始编写我们的代码:

/*******************************************************************************
 * @project: JavaSE
 * @package: com.burns.csdn.api
 * @file: InvokeInterfaceGetNewArticleList.java
 * @author: Administrator
 * @created: 2017-5-16
 * @purpose:
 * 
 * @version: 1.0
 * 
 * Revision History at the end of file.
 * 
 * Copyright 2017 AcconSys All rights reserved.
 ******************************************************************************/

package com.burns.csdn.api;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class InvokeInterfaceGetNewArticleList {
	public static void main(String[] args) throws Exception {

		/**
		 * 用到的架包有: json-lib-2.4-jdk15.jar commons-lang-2.6.jar ezmorph-1.0.6.jar
		 * commons-logging-1.1.1.jar commons-collections-3.2.1.jar
		 * commons-beanutils-1.8.3.jar
		 */

		// 外接口路径
		String urlStr = "http://api.csdn.net/blog/getchannel?client_id=1100309";
		// 链接URL
		URL url = new URL(urlStr);
		// 返回结果集
		StringBuffer document = new StringBuffer();
		// 创建链接
		URLConnection conn = url.openConnection();
		// 读取返回结果集
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				conn.getInputStream(), "utf-8"));
		String line = null;
		while ((line = reader.readLine()) != null) {
			document.append(line);
		}
		reader.close();
		System.out.println(document);
//		JSONObject json = JSONObject.fromObject(document.toString());
		// 查看json格式
//		System.out.println(json.toString());
		// 获取json中某个对象
//		JSONObject obj = (JSONObject) json.get("weatherinfo");
//		System.out.println(obj.toString());
		// 获取对象中某个属性的值
//		String val = obj.getString("city");
//		System.out.println(val);
	}

}

/*******************************************************************************
 * <B>Revision History</B><BR>
 * [type 'revision' and press Alt + / to insert revision block]<BR>
 * 
 * 
 * 
 * Copyright 2017 AcconSys All rights reserved.
 ******************************************************************************/



执行之后,结果如下:

[{"id":1,"name":"移动开发","alias":"mobile"},{"id":14,"name":"Web前端","alias":"web"},{"id":15,"name":"架构设计","alias":"enterprise"},{"id":16,"name":"编程语言","alias":"code"},{"id":17,"name":"互联网","alias":"www"},{"id":6,"name":"数据库","alias":"database"},{"id":12,"name":"系统运维","alias":"system"},{"id":2,"name":"云计算","alias":"cloud"},{"id":3,"name":"研发管理","alias":"software"},{"id":19,"name":"特约专家","alias":"invite"},{"id":8,"name":"行业名家","alias":"celebrity"},{"id":7,"name":"综合","alias":"other"},{"id":20,"name":"名誉专家","alias":"honour"}]

把结果和CSDN网站提供的一比对,果然一样:

CSDN给出的如下:(整理过格式了)

[{
    "id": 1,
    "name": "移动开发",
    "alias": "mobile"
}, {
    "id": 14,
    "name": "Web前端",
    "alias": "web"
}, {
    "id": 15,
    "name": "架构设计",
    "alias": "enterprise"
}, {
    "id": 16,
    "name": "编程语言",
    "alias": "code"
}, {
    "id": 17,
    "name": "互联网",
    "alias": "www"
}, {
    "id": 6,
    "name": "数据库",
    "alias": "database"
}, {
    "id": 12,
    "name": "系统运维",
    "alias": "system"
}, {
    "id": 2,
    "name": "云计算",
    "alias": "cloud"
}, {
    "id": 3,
    "name": "研发管理",
    "alias": "software"
}, {
    "id": 19,
    "name": "特约专家",
    "alias": "invite"
}, {
    "id": 8,
    "name": "行业名家",
    "alias": "celebrity"
}, {
    "id": 7,
    "name": "综合",
    "alias": "other"
}, {
    "id": 20,
    "name": "名誉专家",
    "alias": "honour"
}]



STM32使用HAL库实现串口通讯的理论讲解可以简要概括如下: 首先,需要明确的是HAL库是什么,它是ST公司官方提供的用于简化STM32芯片开发的一套库函数集合。它封装了底层的硬件操作,提供了一些高级的API函数,使得开发者能够更方便地进行硬件编程。 在STM32中实现串口通讯,主要涉及到以下几个方面的内容: 1. 引入HAL库:在工程中引入HAL库文件,可以通过下载ST官方提供的开发包得到。引入HAL库后,就可以在代码中使用HAL库提供的函数。 2. 初始化串口:调用HAL库提供的函数,进行串口的初始化设置。包括设置波特率、数据位、停止位、校验位等等。 3. 串口发送数据:通过HAL库提供的发送函数,将要发送的数据写入串口的发送缓冲区,然后等待数据发送完成。 4. 串口接收数据:通过HAL库提供的接收函数,可以判断是否接收到了新的数据,若有新的数据到达,则可以通过读取接收缓冲区的方式获取到数据。 5. 中断处理:为了提高串口通讯的效率,一般会使用中断来处理串口接收数据。在中断中,可以读取接收缓冲区的数据,并进行相应的处理。 总结一下,实现STM32的串口通讯主要是通过引入HAL库,进行初始化设置,然后使用库函数发送和接收数据。另外,还可以采用中断的方式处理接收数据。这样就可以实现STM32与其他设备之间的串口通讯。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱的叹息

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值