# aardio 范例: 入门

```aardio
//入门
import console;
console.showLoading(" 正在下载 dm.proto");

import protobuf.parser.github;
protobuf.parser.github(false,"SocialSisterYi/bilibili-API-collect/blob/master/grpc_api/bilibili/community/service/dm/v1/dm.proto")
/***
protobuf.parser.github 等价于执行下面的代码：
var proto = web.rest.github.getContent(user,repos,path,branch);
protobuf.parser().parse(proto,,false/*如果应用根目录不是工程目录在应用根目录生成库*/);
***/

//导入 protobuf.parser 生成的 aardio 库
import bilibili.community.service.dm.v1.DmSegMobileReply;

import web.rest.client; 
var http = web.rest.client();  
http.parseResponseResult = function(resp){
	
	//自动解析服务器响应数据为 Protobuf 消息对象
	var dmSeg = bilibili.community.service.dm.v1.DmSegMobileReply();
	dmSeg.parseFromString(resp);
	return dmSeg;
}

//发送请求
var dmSeg = http.get("https://api.bilibili.com/x/v2/dm/web/seg.so",{
  "oid":"36570401","pid":"76459310","type":1,"segment_index":1
})

//显示弹幕数据
for(i=1;#dmSeg.elems){
	var elem = dmSeg.elems[i];
	console.log(elem.idStr,elem.content);
	//console.more(1000);
}

import JSON;

//不需要任何封装，所有 Protobuf 消息对象都可以直接转换为 json
var json = JSON.stringify(dmSeg);

//Protobuf 消息对象可通过 table.parseValue 转换为纯 table 对象
var tab = table.parseValue(dmSeg) 

console.pause(true); 
```