首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析JSON文件-子数组或方括号内的node.js

解析JSON文件-子数组或方括号内的node.js
EN

Stack Overflow用户
提问于 2016-09-03 21:42:58
回答 2查看 5.9K关注 0票数 2

我试图使用node.js解析JSON响应。我把所有东西都弄下来了,但有一段时间(这必须很简单),我完全被困在如何接近子数组或其他东西上了。

下面是我想要完成的一个例子。(忽略TF2主题)

代码语言:javascript
运行
复制
"AWPer Hand":
{
    "defindex": [851],
    "prices": {
        "1": {
            "Tradable": {
                "Craftable": [{
                    "value": 15.33,
                    "currency": "metal",
                    "difference": -0.33,
                    "last_update": 1469842566,
                    "value_raw": 15.33
                }]
            }
        },
        "6": {
            "Tradable": {
                "Craftable": [{
                    "value": 3,
                    "currency": "metal",
                    "difference": 0.17,
                    "last_update": 1466442983,
                    "value_raw": 3
                }]
            }
        },
        "11": {
            "Tradable": {
                "Craftable": [{
                    "value": 5,
                    "currency": "keys",
                    "difference": -4.75,
                    "last_update": 1469371613,
                    "value_raw": 102.475
                }]
            }
        }
    }
}

这不是正确的格式,因为文件中有很多内容,但是为了获得它看起来的格式,我有这一行代码可以工作

代码语言:javascript
运行
复制
var obj = JSON.parse(data);
var price = obj['response']['items'][itemName]['prices'][quality]['Tradable']['Craftable']

(示例响应将是itemName on wards)

在工艺表中,方括号周围有一个子数组,我如何在node.js中正确地解析这个子数组以获得"value_raw“ID?

谢谢您抽时间见我!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-03 21:50:18

我想最简单的方法是

代码语言:javascript
运行
复制
price[0].value_raw

因为its和数组包含一个对象

票数 7
EN

Stack Overflow用户

发布于 2016-09-03 22:02:34

在工艺表中,方括号周围有一个子数组,我如何在node.js中正确地解析这个子数组以获得"value_raw“ID?

在这里,craftable由一个对象数组组成--尽管其中只有一个对象。要访问该对象,只需定义该项的索引值-此处为0:obj[..etc..]['Craftable'][0]

“`Craftable”对象的属性可用通常的JavaScript .dot表示法。例如..。

代码语言:javascript
运行
复制
obj. (.etc.) .Craftable[0].difference;
obj. (.etc.) .Craftable[0].value_raw;

..。或者括号符号。

代码语言:javascript
运行
复制
obj[..etc..]['Craftable'][0]['difference'];
obj[..etc..]['Craftable'][0]['value_raw'];

通常建议在对象键不能动态访问的情况下使用.dot表示法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39311589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档