javascript - 如何从 JSON 获取属性值并使用 node.js 以特定格式将其写入文件
问题描述
我有一个 test.json 文件,格式如下,我只想从该文件中获取链接值:
从文件系统输入文件:
{
"5cacd1333105": {
"type": "CORR-ID",
"environment": "amazon",
"tags": [
{
"name": "EC-6S0005704A8324S98020",
"source": "amazonstage2ma_paymentapiplatserv#TOKEN",
"flags": [
"FLAG_DYNAMIC_VALUE",
"FLAG_ID_LOOKUP_SUPPORTED"
]
}
],
"callSummary": [
{
"colo": "lvs",
"pool": "slingshotrouter",
"machine": "stage21007",
"apiName": "GET",
"status": "0",
"duration": 13400.0,
"calls": null,
"hints": null,
"msgTime": 1574314991130,
"link": "https://www.amazon.qa.pilot.com/Tid-942342192424j2j234"
},
{
"colo": "lvs",
"pool": "slingshot",
"machine": "stage21029",
"apiName": "GET",
"status": "0",
"duration": 13368.0,
"calls": null,
"hints": null,
"msgTime": 1574314991162,
"link": "https://www.amazon.qa.pilot.com/Tid-12342342i842424j2j234"
},
{
"colo": "lvs",
"pool": "msmaster_userbridgedomainserv",
"machine": "amazon1int-g_userbridgedomainserv_22",
"apiName": "POST",
"status": "0",
"duration": 15.0,
"calls": null,
"hints": null,
"msgTime": 1574315001625,
"link": "https://www.amazon.qa.pilot.com/Tid-02341723424i842424j2j290"
}
],
"partial": false
}
}
我想从上面的文件中获取以下详细信息:
"https://www.amazon.qa.pilot.com/Tid-942342192424j2j234"
"https://www.amazon.qa.pilot.com/Tid-12342342i842424j2j"
"https://www.amazon.qa.pilot.com/Tid-02341723424i842424"
我只想按以下格式写入 test.js 文件。
module.exports =
{
fileNames:[
'https://www.amazon.qa.pilot.com/Tid-942342192424j2j234',
'https://www.amazon.qa.pilot.com/Tid-12342342i842424j2j',
'https://www.amazon.qa.pilot.com/Tid-02341723424i842424'
]
}
我不知道如何获得这些细节。有人可以分享我对此的一些意见吗?
解决方案
您尚未分享如何获取此数据,但由于您为 node.js 添加了标签,我假设您在服务器端执行此操作。
在确保收到的数据为 JSON 格式(使用 JSON.parse)并且有效后,要获取所需的特定字段,您可以执行以下操作:
let links = [];
let callSummary = json['5cacd1333105'].callSummary
for (let index = 0; index < callSummary.length; index++) {
let call = callSummary[index];
if (call && call.link) {
links.push(call.link);
}
}
在此之后,您将拥有数组链接中的所有链接,并且您可以对它们做任何您想做的事情。
推荐阅读
- angular - 如何在 Angular 中定义组件的类型?
- angular - 使用 ngModel 的动态单选按钮 2 方式绑定 - Angular 6
- sql-server - 使用 Azure SQL 的 Azure 自动故障转移组中的问题
- c# - 在 C# 中,为什么连接字符串不作为对象公开?
- perl - log4perl 一个带有两个附加器和不同日志级别的记录器
- javascript - 当 jquery 过滤器没有返回结果时在 div 中显示消息
- c# - 缺少值的亚马逊 MWS 报告 API 结果
- cmake - Yocto + Autotools 库 + CMake 应用程序 = 链接器错误
- circleci - bundle clean 如何适应 CircleCI 缓存?
- spring-boot - 是否可以将 OSGI 与 Spring Boot 微服务一起使用?请详细告诉我