我有以下JSON字符串,並不像我想的那樣直截了當。我希望得到一些幫助。我需要對每個條目進行迭代,並將它與另一組也在JSON字符串中的值進行比較(這對我來說結構要簡單得多)。我正在尋找一種建議模式,將數據取出並用於比較,然後如果是我想要的結果 - 將其打印出來。閱讀從Python中的JSON字符串解析的嵌套對象
的JSON:
{"success":true,
"message":"",
"result":
{"buy":
[
{"Quantity":2.40078779,"Rate":1.11811290},
{"Quantity":0.00085042,"Rate":1.11584924} ....
等。有很多值。我在數據獲取的方式是這樣的:
print ("Buy: ",b1['result']['buy'][0]['Quantity'], ",",b1['result']['buy'][0]['Rate'])
這中間的[0]這讓我 - 我想我可以通過我得到的條目數,然後循環= 0〜範圍(條目數),但它真的拋出我的邏輯斷爲其他JSON字符串與我比較條目結構要容易得多:容易(對我來說)JSON進入
例如:
{
"eth_btc":{
"asks":[
[105,1],
[105.5,15],
[104.504,0.425],
[105.505,0.1]
],
"bids":[
[109,6],
[113.082,0.46540304],
[104.91,0.99007913],
[106.83,0.07832332]
]
}
}
for asks in easyJson['eth_btc']['asks']:
print (asks)
我需要比較這個問題的價值是很容易迭代對速度價值在abov e字符串。由於結構不同(我正在學習Python作爲一種業餘愛好),因此我無法圍繞以不同方式構造這些數據集的迭代的最佳方式。數據集將是LARGE,比較生活在5組數據中的4000個左右的數據,一個一個,根據我的標準找到合適的數據集。
我應該將所有數據從JSON標準化爲其他東西,然後在那裏做我的比較?與成千上萬個值相比,這是一種5種方法。
僞 - 代碼:
If ask1 < bid2 then if volume of ask1 is <= volume of bid2 then do something
etc - then ask1 vs bid3, and so on..
ask2 vs bid1, ask2 vs bid3 ...
ask3 vs bid1, ask3 vs bid2, ask3 vs bid4 ...
道歉,如果這是不明確。我正在努力解決這個項目問題,我覺得我很勉強強迫它,而不是使用Python的力量,我想學習!
感謝您的任何幫助 - 方向 - 任何東西!
'import json; json.loads(json_string)'這會立即將它放入'dict' /'list'結構中。此外,我認爲如果您正在尋求對JSON文件進行某種市場微觀結構分析,那麼這種方式實在太糟糕了(我是一個定量分析)。當你的python代碼評估結果將是無用的 –
其次作爲更多的SO問題呈現問題 - 你有一個非常棘手的問題,這種混亂和最終無處可去。一次嘗試並將您的問題固定在一件事上。例如1)你想分析JSON? 2)你想知道如何比較字典中的值嗎? - 這兩個問題都在SO上進行了深入報道。由於這些原因,我投票結束,因爲它太寬了 –
由於您已經可以通過索引訪問數據,因此您現在擁有的是「詞典」或「列表」。你不需要把它轉換成其他的東西。 –