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】:

productAttributesproductBaseInfo 内。所以你需要像这样访问它

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

无法从 JSON 对象中删除字段 - Node JS

在单个 Node.js + Express 响应中发送图像和 JSON 数据

Node.js提取返回空数据

从Node JS中的MongoDB查询中获取数据

如何在 Node.js 中读取文件内容并将数据转换为 JSON?