Nodejs访问网络并解析返回的json的实现方法
时间:2022-09-27 11:11:27|栏目:NodeJS|点击: 次
一:解析本地Json文件
sample.json
{ "api": "mtop.common.getTimestamp", "v": "*", "ret": [ "SUCCESS::接口调用成功" ], "data": { "t": "1647006040138" } }
jsonParse.js:
// 引入文件系统模块 var fs = require('fs'); // 读取文件sample.json文件 fs.readFile('sample.json', // 读取文件完成时调用的回调函数 function(err, data) { // json数据 var jsonData = data; // 解析json var jsonParsed = JSON.parse(jsonData); // 访问元素 console.log(jsonParsed.data.t); });
二:访问网络
我们拿免费的获取服务端时间为例:访问接口如下:http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp
在postman中模拟下请求:
这个请求体的参数key:api,value是 mtop.common.getTimestamp
我们利用request库进行post的网络请求,首先安装下这个request库:
使用命令,将库安装即可
npm install request --save -dev
网络请求如下 :
var request = require('request'); request.post({url:'http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp', form:{ "api": "mtop.common.getTimestamp", }}, function(error, response, body) { //console.log(error,response,body) console.log(body) })
执行该js文件,可以看到成功获取到时间body的返回值:
Json如下:
{ "api": "mtop.common.getTimestamp", "v": "*", "ret": [ "SUCCESS::接口调用成功" ], "data": { "t": "1647006040138" }}
最后我们把解析json的代码也补充上,就可以获取到我们需要的服务器时间毫秒值了:
var request = require('request'); request.post({url:'http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp', form:{ "api": "mtop.common.getTimestamp", }}, function(error, response, body) { //console.log(error,response,body) console.log(body) // 解析json var jsonParsed = JSON.parse(body); // 访问元素 console.log(jsonParsed.data.t); })