当前位置:主页 > 脚本语言 > NodeJS >

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); 
	
})

您可能感兴趣的文章:

相关文章