2017-07-16 72 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