[英]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
輸入數組的 object model 沒有任何 addr 屬性,您需要訪問 prev_out object 屬性來獲取 addr 值。
您在輸入數組中缺少關閉 ],您需要刪除 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.