2017-07-16 29 views
1

我是Nim的新手,我想讀一個JSON文件到一個dict樣式的數據結構,以便將鍵作爲列訪問。相當於在Nim中加載一個JSON到一個字典

proc get_url() : string = 
    return "train.json" 

而且,解析器:

var file = get_url() 
var json_data = file.parseFile() 
var values = newTable() # dict style data structure? 

for record in json_data: 
for key, value in record: 
    values[key] = value # not 

顯然,表需要更具體的實例。

我不知道JSON文件中鍵的數量。在手冊中,其示例爲var a = {"hi": 1, "there": 2}.toTable。這似乎不足以解析隨機JSON文件。

回答

5

使用stdlib的json模塊解析json已經爲您提供了dict樣式的數據結構:JsonNode

json文檔解釋瞭如何使用這個相當好:https://nim-lang.org/docs/json.html#dynamically-retrieving-fields-from-json

+0

好了,這是有道理的。如何從JsonNode獲取密鑰? Python中的字典有一個簡單的函數... – wishi

+1

就像你在Python中:'myNode [「key」]'。這給了你另一個節點,所以你需要根據你所期望的類型做些什麼。 – dom96