簡體   English   中英

如何從 javascript 中的 json 中提取 json 值

[英]How to extract json values from json in javascript

大家好,我目前正在嘗試表達 json 但這對我來說很難。 json 響應為

{
"txs": 
{
    "lock_time": 0,
    "ver": 1,
    "size": 372,
    "inputs": [
        {
            "sequence": 4294967295,
            "prev_out": {
                "spent": true,
                "tx_index": 78636642,
                "type": 0,
                "addr": "1Dihat9Fy1ZDzFCq33LN5M7kzG3Fmi3FbZ",
                "value": 61140,
                "n": 1,
                "script": "76a9148b84711990f82d3cd70013e738787506a2156ebf88ac"
            },
            "script": "47304402203409c3381b75deac615630125c62af73e959e4e42431397209d0298da272c4b4022011720c0e8ecc8a4d01e1f6210891fe5e65f581473c05f0b15bc38010ca5155610121038b1c61898ba817c0361fb910c001cddf309388f6e156f96de749fdbb1c531f34"
        },
        {
            "sequence": 4294967295,
            "prev_out": {
                "spent": true,
                "tx_index": 78634898,
                "type": 0,
                "addr": "1Dihat9Fy1ZDzFCq33LN5M7kzG3Fmi3FbZ",
                "value": 379950,
                "n": 1,
                "script": "76a9148b84711990f82d3cd70013e738787506a2156ebf88ac"
            },
            "script": "473044022051029de181886a8225e78ea8c97fcdff4fdf65bd5479cf4370a8bf38ffd8770002202e788bb00aa4b017249eeefdfcf49cc2e591a7dbb25a1b2a3df924505b7683a50121038b1c61898ba817c0361fb910c001cddf309388f6e156f96de749fdbb1c531f34"
        }
    ,
    "doublespend": false,
    "time": 1424718521,
    "txindex": 78637260,
    "vinsz": 2,
    "hash": "011931da4d5ef3afde1b043f285b27cec2883b9d77feda71fe67b13341778494",
    "voutsz": 2,
    "relayedby": "127.0.0.1",
    "out": [
        {
            "addrtaglink": "http://luckyb.it/",
            "addrtag": "LuckyBit blue",
            "spent": false,
            "txindex": 78637260,
            "type": 0,
            "addr": "1LuckyB5VGzdZLZSBZvw8DR17iiFCpST7L",
            "value": 356450,
            "n": 0,
            "script": "76a914da5dde86d69a5d9dad88763f2df4b048953c7d0488ac"
        },
        {
            "spent": false,
            "txindex": 78637260,
            "type": 0,
            "addr": "1Dihat9Fy1ZDzFCq33LN5M7kzG3Fmi3FbZ",
            "value": 74640,
            "n": 1,
            "script": "76a9148b84711990f82d3cd70013e738787506a2156ebf88ac"
        }
    ]
}
]
}

這個 json 存儲在變量content中。 通過讓內容 = JSON.parse(result)

我用var data = content.txs.inputs.addr

從中取出信息,但它什么也沒顯示,null。 我也只嘗試了content並且它有效,但它不適用於content.txs.inputs.addr 任何 JavaScript 開發人員可以幫我解決這個問題嗎? 我第一次面對這種類型的 json。

content.txs.inputs是一個數組。 你的意思是var data = content.txs.inputs[0].prev_out.addr; ?

你需要 go 再走幾步

inputs是一個數組,所以你需要一個下標,然后是兩級鍵:

Var data = content.txs.inputs[0].prev_out.addr

請注意,兩個inputs元素中都有一個addr值。 更改下標以獲取另一個下標。

元素輸入是一個數組,因此您需要訪問數組中的每個位置,您可以使用for循環進行元素輸入,訪問每個position,例如輸入[0].addr,輸入[1].addr

  1. 輸入數組的 object model 沒有任何 addr 屬性,您需要訪問 prev_out object 屬性來獲取 addr 值。

  2. 您在輸入數組中缺少關閉 ],您需要刪除 json 文件末尾的 ]。

之后,您可以通過以下方式獲取 addr 屬性:

 const content = { "txs": { "lock_time": 0, "ver": 1, "size": 372, "inputs": [ { "sequence": 4294967295, "prev_out": { "spent": true, "tx_index": 78636642, "type": 0, "addr": "1Dihat9Fy1ZDzFCq33LN5M7kzG3Fmi3FbZ", "value": 61140, "n": 1, "script": "76a9148b84711990f82d3cd70013e738787506a2156ebf88ac" }, "script": "47304402203409c3381b75deac615630125c62af73e959e4e42431397209d0298da272c4b4022011720c0e8ecc8a4d01e1f6210891fe5e65f581473c05f0b15bc38010ca5155610121038b1c61898ba817c0361fb910c001cddf309388f6e156f96de749fdbb1c531f34" }, { "sequence": 4294967295, "prev_out": { "spent": true, "tx_index": 78634898, "type": 0, "addr": "1Dihat9Fy1ZDzFCq33LN5M7kzG3Fmi3FbZ", "value": 379950, "n": 1, "script": "76a9148b84711990f82d3cd70013e738787506a2156ebf88ac" }, "script": "473044022051029de181886a8225e78ea8c97fcdff4fdf65bd5479cf4370a8bf38ffd8770002202e788bb00aa4b017249eeefdfcf49cc2e591a7dbb25a1b2a3df924505b7683a50121038b1c61898ba817c0361fb910c001cddf309388f6e156f96de749fdbb1c531f34" }], "doublespend": false, "time": 1424718521, "txindex": 78637260, "vinsz": 2, "hash": "011931da4d5ef3afde1b043f285b27cec2883b9d77feda71fe67b13341778494", "voutsz": 2, "relayedby": "127.0.0.1", "out": [ { "addrtaglink": "http://luckyb.it/", "addrtag": "LuckyBit blue", "spent": false, "txindex": 78637260, "type": 0, "addr": "1LuckyB5VGzdZLZSBZvw8DR17iiFCpST7L", "value": 356450, "n": 0, "script": "76a914da5dde86d69a5d9dad88763f2df4b048953c7d0488ac" }, { "spent": false, "txindex": 78637260, "type": 0, "addr": "1Dihat9Fy1ZDzFCq33LN5M7kzG3Fmi3FbZ", "value": 74640, "n": 1, "script": "76a9148b84711990f82d3cd70013e738787506a2156ebf88ac" } ] } }; // Now you can get the info content.txs.inputs.forEach(element => { console.log(element.prev_out.addr); })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM