[英]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.