Node.js:从 JSON 响应中提取数据
Posted
技术标签:
【中文标题】Node.js:从 JSON 响应中提取数据【英文标题】:Node.js: Extract data from JSON response 【发布时间】:2015-03-03 18:48:29 【问题描述】:我正在使用以 JSON 对象形式提供响应的 API 获取产品详细信息。
"productBaseInfo":
"productIdentifier":
"productId": "EKTDDD23232zYHR94E4",
,
"productAttributes":
"title": "Nova KT 72BC 1 Electric Kettle",
"imageUrls":
"400x400": "http://img5a.flixcart.com/image/electric-kettle/4/e/4/nova-kt-722-c-kt-722c-400x400-imadddh2fdvuzpxz.jpeg",
"75x75": "http://img6a.flixcart.com/image/electric-kettle/4/e/4/nova-kt-722-c-kt-722c-75x75-imadddh2fdvuzpxz.jpeg",
,
"sellingPrice":
"amount": 599.0,
"currency": "INR"
,
"productUrl": "http://dl.mykart.com/dl/nova-kt-722c-1-electric-kettle/p/itmdddf398rhhhz2?pid=EKTDDDEGXYHR94E4&affid=userid"
现在我想获取 ProductId、ProductAttributes 中的标题,以及所有图片 url 和 productURL。 我试过了
var productURL = JSON["productAttributes"].productUrl
但它返回一个错误 productUrl not found 错误。寻找有关如何提取数据的建议。提前致谢。
【问题讨论】:
【参考方案1】:productAttributes
在productBaseInfo
内。所以你需要像这样访问它
console.log(JSON.productBaseInfo.productAttributes.productUrl);
// http://dl.mykart.com/dl/nova-kt-722c-1-electric-kettle/p/itmdddf398rhhhz2?pid=EKTDDDEGXYHR94E4&affid=nikhilgeo
【讨论】:
感谢您的回复。我试过了,但我收到一个错误“TypeError:无法读取未定义的属性'productAttribures'。 你能显示你试过的实际代码吗?我认为您将其作为字符串获取。 嘿,我做对了,我忘了将 json 对象转换为 javascript 对象。现在它工作正常..非常感谢您 在 imageurls 的情况下:为了检索它,我使用了 jsObject.productBaseInfo.productAttributes.imageUrls.400*400;但 node.js 在 400*400 处显示 SyntaxError:Unexpected token ILLEGAL 错误。如果不参考 400*400,我怎么能得到图片链接 @NikhilGeorge*
不是属性名称的有效字符,因此您应该像这样访问它jsObject.productBaseInfo.productAttributes.imageUrls["400*400"]
以上是关于Node.js:从 JSON 响应中提取数据的主要内容,如果未能解决你的问题,请参考以下文章
如何从 json 响应中连接来自不同对象数组的值? Node.js、Discord.js