Nodejs访问网络并解析返回的json的实现方法

一:解析本地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中模拟下请求:

Nodejs访问网络并解析返回的json的实现方法_第1张图片

 这个请求体的参数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); 
	
})

到此这篇关于Nodejs访问网络并解析返回的json的实现方法的文章就介绍到这了,更多相关Node访问网络并返回json内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Nodejs访问网络并解析返回的json的实现方法)