diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/json.nim | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/pure/json.nim b/lib/pure/json.nim index abf6305f2..06d5a13e2 100644 --- a/lib/pure/json.nim +++ b/lib/pure/json.nim @@ -622,9 +622,12 @@ proc getNum*(n: JsonNode, default: BiggestInt = 0): BiggestInt = proc getFNum*(n: JsonNode, default: float = 0.0): float = ## Retrieves the float value of a `JFloat JsonNode`. ## - ## Returns ``default`` if ``n`` is not a ``JFloat``, or if ``n`` is nil. - if n.isNil or n.kind != JFloat: return default - else: return n.fnum + ## Returns ``default`` if ``n`` is not a ``JFloat`` or ``JInt``, or if ``n`` is nil. + if n.isNil: return default + case n.kind + of JFloat: return n.fnum + of JInt: return float(n.num) + else: return default proc getBVal*(n: JsonNode, default: bool = false): bool = ## Retrieves the bool value of a `JBool JsonNode`. |