I'm learning Nim myself by trying to write this, seems working
    
    
    import json
    
    var field1, field2, field3 : string
    var jz : JsonNode = %* {"node1": "Node1Value","node3":nil}
    
    template nodeAsStr(n:JsonNode,key:string,default:string="*NoValue*"): 
string =
      if n!=nil and n.hasKey(key):
        n[key].getStr(default)
      else:
        "*NoKey*"
    
    field1 = jz.nodeAsStr("node1")
    field2 = jz.nodeAsStr("node2")
    field3 = jz.nodeAsStr("node3")
    
    echo "field1:", field1
    echo "field2:", field2
    echo "field3:", field3
    

Reply via email to