如何从这个长的 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 文件中获取价值,它会在新交易后自行增加,我需要最新的交易的主要内容,如果未能解决你的问题,请参考以下文章