c# - jObject 属性的索引不起作用 c#

标签 c# json bitcoin

我正在将比特币交易 String 解析为 JObject(它是 JSON 格式)并想引用 prev_out 哈希和第二个JSON 字符串中的值(示例见下文)。正如您在下面看到的,我尝试使用索引获取属性值,但我一直返回 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_out 哈希值:

JObject transaction = JObject.Parse(t1);
var d = transaction["in"][0]["hash"];

其中t1是JSON交易字符串

我尝试使用此获取第二个 value 属性:

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,这一点就会变得很清楚。

关于c# - jObject 属性的索引不起作用 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35279308/

相关文章:

c# - 如何使用 DataAnnotations 检查 WPF 中是否存在有效数字

c# - 如何在MVC项目外部重构数据库访问代码,但将 View 模型保留在内部?

javascript - 循环遍历 json 数据以创建下拉列表

objective-c - 任何适合设计师的存折设计工具

java - Coinbase Api Java POST 请求 "Invalid Signature"

ruby - 如何在 Ruby 中生成比特币地址

c# - 如何在 C# 应用程序中使用 Fortran 文件?

c# - 如何绑定(bind)到 Style.Resource 中的附加属性?

javascript - 使用 $ 和 { 时将 JSON 解析为 YAML 失败

bitcoin - 如何使用 coinbase 或任何其他开源 API 获取历史比特币价格指数