JSON 返回多个具有相同名称的值

JSON returns multiple values with the same name

本文关键字:返回 JSON      更新时间:2023-09-26

我对此有点陌生,所以不要对我太苛刻,尽管我听起来像个菜鸟。

我有一个 JSON 源,我使用以下 JS 代码从中提取:

$.getJSON("http://pubapi.cryptsy.com/api.php?method=singleorderdata&marketid=14",   function(data)

这给了我一个如下所示的输出:

{
    "price": "0.00008926",
    "quantity": "304.08451708",
    "total": "0.02714258"
}, {
    "price": "0.00008927",
    "quantity": "107.68391178",
    "total": "0.00961295"
}

我将其设置为变量"结果"。

因为有多个"价格"值,我不知道如何使用第一个。关于我如何做到这一点的任何想法?

我使用 Node.js 和 jQuery 只是作为参考。

您的 JSON 结构实际上如下所示:

{
    "success": 1,
    "return": {
        "WDC": {
            "marketid": "14",
            "label": "WDC'/BTC",
            "primaryname": "WorldCoin",
            "primarycode": "WDC",
            "secondaryname": "BitCoin",
            "secondarycode": "BTC",
            "sellorders": [{
                "price": "0.00007760",
                "quantity": "2.79222406",
                "total": "0.00021668"
            }, {
                "price": "0.00007761",
                "quantity": "933.65491273",
                "total": "0.08358597"
            }, {
                "price": "0.00007842",
                "quantity": "7.39656299",
                "total": "0.00058004"
            }, ... and so on ...
            ]
        }
    }
}

由于 JSON 是自动为您解析的,因此您需要做的就是像普通对象一样使用它。

console.log(result["return"].WDC.sellorders[0]);

我使用["return"]而不是.return因为一些较旧的浏览器会绊倒后者。

要迭代sellorders数组,您可以使用 for 语句或.forEach() .