summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/json.nim7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pure/json.nim b/lib/pure/json.nim
index c5b1a21e9..0d000e05f 100644
--- a/lib/pure/json.nim
+++ b/lib/pure/json.nim
@@ -628,6 +628,9 @@ proc newJArray*(): JsonNode =
   result.kind = JArray
   result.elems = @[]
 
+const
+  null*: string = nil ## alias for ``nil``
+
 proc getStr*(n: JsonNode, default: string = ""): string =
   ## Retrieves the string value of a `JString JsonNode`.
   ##
@@ -678,6 +681,7 @@ proc getElems*(n: JsonNode, default: seq[JsonNode] = @[]): seq[JsonNode] =
 proc `%`*(s: string): JsonNode =
   ## Generic constructor for JSON data. Creates a new `JString JsonNode`.
   new(result)
+  if s.isNil: return
   result.kind = JString
   result.str = s
 
@@ -1310,3 +1314,6 @@ when isMainModule:
       }
     ]
   doAssert j3 == %[%{"name": %"John", "age": %30}, %{"name": %"Susan", "age": %31}]
+
+  var j4 = %*{"test": null}
+  doAssert j4 == %{"test": newJNull()}