获取JSON值

时间:2014-11-02 06:17:28

标签: javascript json

所以我需要获取prev_out地址和值以及out地址的哈希值。
但是我遇到了一些问题,我能够得到哈希值而不是其他任何子值。

{
"op": "utx",
"x": {
    "hash": "f6c51463ea867ce58588fec2a77e9056046657b984fd28b1482912cdadd16374",
    "ver": 1,
    "vin_sz": 4,
    "vout_sz": 2,
    "lock_time": "Unavailable",
    "size": 796,
    "relayed_by": "209.15.238.250",
    "tx_index": 3187820,
    "time": 1331300839,
    "inputs": [
        {
            "prev_out": {
                "value": 10000000,
                "type": 0,
                "addr": "12JSirdrJnQ8QWUaGZGiBPBYD19LxSPXho"
            }
        }
    ],
    "out": [
        {
            "value": 2800000000,
            "type": 0,
            "addr": "1FzzMfNt46cBeS41r6WHDH1iqxSyzmxChw"
        }
    ]
}

我如何获得这些?

3 个答案:

答案 0 :(得分:1)

假设var是包含此对象的变量,则获取prev_out地址:

var.x.inputs[0].prev_out.addr

获取out地址:

var.x.out[0].addr

使用.property访问对象属性,使用[index]访问数组元素。对象被{}包围,数组被[]包围。

答案 1 :(得分:0)

就像(假设你的json包裹在json对象中)一样简单:

var hash     = json.x.hash;
var prev_out = json.x.inputs[0].prev_out.addr;
var out      = json.x.out[0].addr

问题是什么?您正在使用javascript吗?如果您使用的是其他语言,例如Scala或其他任何语言,那都是有意义的。

答案 2 :(得分:0)

假设您的json存储在json对象中,然后:

for(key in json.x.inputs){
   for(key1 in json.x.inputs[key].prev_out){
       console.log('key1:',key1);
       console.log('value:',json.x.inputs[key].prev_out[key1]);
   }
}