nim-serde/serde/json/parser.nim
Eric b04435fb88
Change parseJson to JsonNode.parse (#4)
* Change parseJson to JsonNode.parse

Exporting `parseJson` causes symbol clashes in downstream repos that import std/json, so changing the signature completely avoid this clash.

* Fix usages of parseJson, update README
2024-02-09 11:08:14 +11:00

16 lines
397 B
Nim

import std/json as stdjson
import pkg/questionable/results
import ./types
{.push raises: [].}
proc parse*(_: type JsonNode, json: string): ?!JsonNode =
# Used as a replacement for `std/json.parseJson`. Will not raise Exception like in the
# standard library
try:
return stdjson.parseJson(json).catch
except Exception as e:
return failure newException(JsonParseError, e.msg, e)