作业对象属性的索引不工作c#
我正在将比特币交易作业对象属性的索引不工作c#,c#,json,bitcoin,C#,Json,Bitcoin,我正在将比特币交易字符串解析为JObject(它是JSON格式),并希望引用JSON字符串中的prev\u out散列和第二个值(参见下面的示例)。正如您在下面所看到的,我尝试使用索引获取属性值,但一直返回null。请帮忙 典型的JSON字符串是什么样子的: { "hash" : "4ebf7f7ca0a5dafd10b9bd74d8cb93a6eb0831bcb637fec8e8aabf842f1c2688", "ver" : 1, "vin_sz" : 1,
字符串
解析为JObject
(它是JSON格式),并希望引用JSON字符串中的prev\u out
散列和第二个值(参见下面的示例)。正如您在下面所看到的,我尝试使用索引获取属性值,但一直返回null
。请帮忙
典型的JSON字符串是什么样子的:
{
"hash" : "4ebf7f7ca0a5dafd10b9bd74d8cb93a6eb0831bcb637fec8e8aabf842f1c2688",
"ver" : 1,
"vin_sz" : 1,
"vout_sz" : 2,
"lock_time" : 0,
"size" : 225,
"in" : [{
"prev_out" : {
"hash" : "bf7d91ac70917f98b497927e1b07267507652b206df14ecdba2e9390b9bffc65",
"n" : 0
},
"scriptSig" :
" 3044022069b6b0f1a8d453bdb89e3ad475232b8e01d2851e7b53acab3f830f40e80b3b5102203c0 49
867975360020293c735d48b4a2dda003aa781c1d8ccd2c7af290dcd11de01
02e3538427350039e67ea99e935cefb740badf3d09ebc301b0bc9d1bb0301a3417"
}
],
"out" : [{
"value" : "0.08990000",
"scriptPubKey" : "OP_DUP OP_HASH160 5b1d720daf0e95e37d0eaedd282b6ed9a40bab71
OP_EQUALVERIFY OP_CHECKSIG"
}, {
"value" : "0.01000000",
"scriptPubKey" : "OP_DUP OP_HASH160 71049fd47ba2107db70d53b127cae4ff0a37b4ab
OP_EQUALVERIFY OP_CHECKSIG"
}
]
}
我试图使用以下方法引用prev\u out
哈希值:
JObject transaction = JObject.Parse(t1);
var d = transaction["in"][0]["hash"];
其中t1
是JSON事务字符串
我尝试使用以下方法获取第二个值属性:
JObject v = JObject.Parse(t1);
var val = v["out"][1]; //second value starting from 0
value = val.ToString();
“hash”位于“prev_out”中,因此您需要像这样访问它:
var d = transaction["in"][0]["prev_out"]["hash"];
如果您格式化JSON,这一点就很清楚了。您的确切问题是什么?JSON字符串是什么样子的?请正确格式化JSON,它不可读。。另外,尝试将其设置为解析时t1
中的字符串。我刚刚尝试使用在线验证工具验证JSON并设置其格式,但它给出了一个错误,即JSON格式不正确(尝试了多个工具)。请仔细检查您的JSON是否有效,并按照其他人的建议,正确设置格式,以便我们能够更轻松地对其进行分析。