mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-14 07:13:27 +00:00
Merge pull request #7205 from GULPF/json-to-fix
Fix `json.to` for types with generic parameters
This commit is contained in:
@@ -1896,7 +1896,7 @@ macro to*(node: JsonNode, T: typedesc): untyped =
|
||||
## doAssert data.person.age == 21
|
||||
## doAssert data.list == @[1, 2, 3, 4]
|
||||
|
||||
let typeNode = getType(T)
|
||||
let typeNode = getTypeInst(T)
|
||||
expectKind(typeNode, nnkBracketExpr)
|
||||
doAssert(($typeNode[0]).normalize == "typedesc")
|
||||
|
||||
|
||||
@@ -380,4 +380,11 @@ when isMainModule:
|
||||
let dataDeser = to(dataParsed, Test1)
|
||||
doAssert dataDeser.a == 1
|
||||
doAssert dataDeser.f == 6
|
||||
doAssert dataDeser.i == 9.9'f32
|
||||
doAssert dataDeser.i == 9.9'f32
|
||||
|
||||
# deserialize directly into a table
|
||||
block:
|
||||
let s = """{"a": 1, "b": 2}"""
|
||||
let t = parseJson(s).to(Table[string, int])
|
||||
doAssert t["a"] == 1
|
||||
doAssert t["b"] == 2
|
||||
Reference in New Issue
Block a user