如何从这个长的 json 文件中获取价值,它会在新交易后自行增加,我需要最新的交易

Posted

技术标签:

【中文标题】如何从这个长的 json 文件中获取价值,它会在新交易后自行增加,我需要最新的交易【英文标题】:how to take value from this long json file and it will increase itself after a new transaction and i need latest transaction 【发布时间】:2018-05-29 06:31:05 【问题描述】:

如何在 c# 中从这种长 JSON 文件中获取值目前我在 c# 中使用动态变量,但如果我需要最新的 JSON 事务,它将不起作用,因为动态变量保存特定位置的值,但其本地会在之后增加处理一个新交易,我需要目标标签,所以我应该怎么做。

  
  "result":"success",
  "count":5,
  "transactions":[  
      
      "hash":"866B841C8C3B2D840497679FAC45A7D4341E12056AAA53F67471CA1B955FB58E",
      "ledger_index":37860930,
      "date":"2018-04-10T12:35:32+00:00",
      "tx":  
        "TransactionType":"Payment",
        "Flags":2147483648,
        "SourceTag":0,
        "Sequence":20,
        "DestinationTag":0,
        "LastLedgerSequence":37860958,
        "Amount":"25000000",
        "Fee":"12",
        "SigningPubKey":"02917EB4353C539A2B0766EFAB1723E5BB744516C673FFCF21457DAD44BCECFE25",
        "TxnSignature":"304402202FA9FF18A572ACA1735B54CF5A69E10398EAF7003F3573E402ABA09B404F765C0220773481B494A941CC0F5338836A6B71F5FA2499943C41D50205C8EF158651BD86",
        "Account":"rLcqTPYFSJBWGmu2ZXh8JTYGgdXRPjWTrx",
        "Destination":"rfginNsDts73fZtzp858dT6Y6U67Y1QB7GV"
      ,
      "meta":  
        "TransactionIndex":1,
        "AffectedNodes":[  
            
            "CreatedNode":  
              "LedgerEntryType":"AccountRoot",
              "LedgerIndex":"1C75CD43D75614E00025102355ADCCCF6302FAD5B82DC85F5AAF5696E4E39EC4",
              "NewFields":  
                "Sequence":1,
                "Balance":"25000000",
                "Account":"rfginNsDt73fZtzp858dT6Y6U6s7Y1QB7GV"
              
            
          ,
            
            "ModifiedNode":  
              "LedgerEntryType":"AccountRoot",
              "PreviousTxnLgrSeq":37757840,
              "PreviousTxnID":"C794D81D17DF1EA735200E50B9CEADDF19160841E1321F08FDB7C7C4D6BC41AF",
              "LedgerIndex":"BE486CB1FED1B1805E4C42E8E96C73CFDA4E520C66BACEBBE441C1F8212D980E",
              "PreviousFields":  
                "Sequence":20,
                "Balance":"537421240"
              ,
              "FinalFields":  
                "Flags":0,
                "Sequence":21,
                "OwnerCount":0,
                "Balance":"512421228",
                "Account":"rLcqTPYFSJBWGmu2ZXh8JTYGgdXRPjWTrx"
              
            
          
        ],
        "TransactionResult":"tesSUCCESS",
        "delivered_amount":"25000000"
      
    ,
      
      "hash":"86E5D976DDCBF97047C86996286751B23C4384A8B4F6A04E38A57F30F54749CC",
      "ledger_index":38906860,
      "date":"2018-05-25T10:04:22+00:00",
      "tx":  
        "TransactionType":"Payment",
        "Flags":2147483648,
        "Sequence":28534,
        "DestinationTag":2150,
        "Amount":"25000000",
        "Fee":"45",
        "SigningPubKey":"",
        "Account":"rG2uw1W9FXoiY4QiNqej5WeRxnoBEw4JbL",
        "Destination":"rfginNsDt73fZtzp858dT6Y6U67Y1QB7GV",
        "Signers":[  
            
            "Signer":  
              "SigningPubKey":"032DCABB7A17A96E826435B461E474CB33C86C98B2281D304367FCFC6DE463A215",
              "TxnSignature":"3045022100F9802AE2F7800D42233A5B63999C0BD7AE5B7D60D8244C949FF81EA39959B4BC02205E37DD331ACE2637F2BEE758B5AD642D259F4140E8DE53EF610B6F58745BCC05",
              "Account":"rDc4zYyxMbXfUXNKw6zfM88RBUd9y8uPYX"
            
          ,
            
            "Signer":  
              "SigningPubKey":"03019752C3ABCB2BC89EC5FAEF55D72AE940820A30FBA079D2BB8CE8841174EF21",
              "TxnSignature":"30450221009C7F9519912D494C9F009130927E1248BE6C2F877B1A913B49B8BFD926442F6802205377D1D242D07033DC6FDA8C93BC65638D636A87539F32A0D269AA9B537FCB0D",
              "Account":"rKB5N7FxvcwHSYq4NCKjyMpjML1MznMrFc"
            
          
        ]
      ,
      "meta":  
        "TransactionIndex":17,
        "AffectedNodes":[  
            
            "ModifiedNode":

【问题讨论】:

你可以尝试反序列化为一个类对象……这样操作起来会更容易…… 我正在使用api这个json是api的产物 那很好......你想将它存储在内存中并对其执行正确的操作吗?如果是这样的话......你可以直接将这个json反序列化为一个类对象...... ... 你能给我一个链接吗?如何在反序列化中使用这个json (反序列化.transactions[3].tx.DestinationTag);我正在使用这种方法,它正在反序列化这个 json 字符串,但这会在位置事务 [3] 处提供特定数据,但每次位置都会增加,所以我应该为此做些什么? 【参考方案1】:

有一个名为 Json.Net / Newtonsoft 的 nugget 包可用,该包具有轻松将 json 序列化和反序列化为类对象的方法。

第 1 步: 安装此模块 > Install-Package Newtonsoft.Json -Version 11.0.2

第 2 步: 下一步是创建一个类,该类模仿您的完全相同的 json,并且所有键都具有相同的名称,您可以使用名为 Paste Special 的功能在 Visual Studio 中可用。

创建一个空类并将 JSON 复制到剪贴板,然后单击 Edit > Paste Special > Json as Class,这将为您创建一个与 JSON 具有相同结构的类。 p>

第 3 步: 使用以下代码将 json 反序列化为类对象,

JSONClass jsonObjectWithValue = JsonConvert.Deserialize<JSONClass>(jsonString)

【讨论】:

以上是关于如何从这个长的 json 文件中获取价值,它会在新交易后自行增加,我需要最新的交易的主要内容,如果未能解决你的问题,请参考以下文章

Flash应该在新选项卡中打开窗口,但它会在Mac上打开一个新的弹出窗口

如何从 appsettings.json 中获取价值

如何从 Sencha extjs 获取存储价值

如何从 iOS 中的 JSON 响应中获取价值

如何在 JSON 中获取价值?

如何在android studio中从这种类型的json数组中获取价值?