【问题标题】:Use a value from one JSON to append in another using jq使用 jq 将一个 JSON 中的值附加到另一个 JSON
【发布时间】:2020-12-29 21:05:12
【问题描述】:

有人可以帮我吗?我有一个 nodekey 文件,我想从中获取地址和 将其附加到 genesis.json 文件中。

这是“nodekey 文件”。我想获取地址的值 {4cb6046ae395bb6b5f9febc7bdcae28489268725} 从这个文件中,并将其附加到 嵌套键中的 genesis.json 文件。

{"address":"4cb6046ae395bb6b5f9febc7bdcae28489268725","crypto":{"cipher":"aes-128-ctr","ciphertext":"04c9b4c56b717d2f64714de8aa9112c182eccc4e8e578b4c6d89b1621a3cd7c7","cipherparams":{"iv":"fca58569c4c864f9d9ac5953ee29f713"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"c2331c103e8a3321796fbaa79bcff301e22fa9b8cc4fb811ca0cbf96b48e697b"},"mac":"0656363e9828aa0f29215261c442169f33816156ce7d7ea795849c971a39fb7a"},"id":"3da32d09-f0b0-44a0-98ab-e9d03df7c952","version":3}

以下是创世文件。在这个文件中,我想在最后的 alloc 部分中附加地址..

{
    "alloc": {
       "0xed9d02e382b34818e88b88a309c7fe71e65f419d": {
          "balance": "1000000000000000000000000000"
       },
       "0xca843569e3427144cead5e4d5999a3d0ccf92b8e": {
          "balance": "1000000000000000000000000000"
       },
       "0x0fbdc686b912d7722dc86510934589e0aaf3b55a": {
          "balance": "1000000000000000000000000000"
       },
       "0x9186eb3d20cbd1f5f992a950d808c4495153abd5": {
          "balance": "1000000000000000000000000000"
       },
       "0x0638e1574728b6d862dd5d3a3e0942c3be47d996": {
       "balance": "1000000000000000000000000000"
       }
       --want to add my address here
    },
    "coinbase": "0x0000000000000000000000000000000000000000",
        "config": {
        "homesteadBlock": 0,
        "byzantiumBlock": 0,
        "constantinopleBlock": 0,
        "chainId": 10,
        "eip150Block": 0,
        "eip155Block": 0,
        "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "eip158Block": 0,
        "maxCodeSize": 35,
        "isQuorum": true
    },
   "difficulty": "0x0",
   "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
   "gasLimit": "0xE0000000",
   "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578",
   "nonce": "0x0",
   "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
   "timestamp": "0x00"


}

我尝试使用 jq .alloc += -- 。但这会替换 alloc 中的最后一个现有地址 部分。

【问题讨论】:

    标签: json append jq


    【解决方案1】:

    您可以在 nodekey 文件上使用--argfile,稍后将其与 genesis.json 文件一起用于附加

    jq --argfile node nodekey.json '.alloc += { ($node.address): {balance: "1000000000000000000000000000"} }' genesis.json
    

    请注意,这会将结果输出打印到终端。如果您想就地修改文件,请按照Modify a key-value in a json using jq in-place 中的步骤操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2020-11-30
      • 1970-01-01
      相关资源
      最近更新 更多