parent
34c16f5eca
commit
9961d1f67d
1 changed files with 31 additions and 0 deletions
31
tests/stdlib/tjson_unmarshall.nim
Normal file
31
tests/stdlib/tjson_unmarshall.nim
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
discard """
|
||||||
|
output: '''
|
||||||
|
Original: (kind: P, pChildren: @[(kind: Text, textStr: "mychild"), (kind: Br)])
|
||||||
|
jsonNode: {"kind":"P","pChildren":[{"kind":"Text","textStr":"mychild"},{"kind":"Br"}]}
|
||||||
|
Reversed: (kind: P, pChildren: @[(kind: Text, textStr: "mychild"), (kind: Br)])
|
||||||
|
'''
|
||||||
|
"""
|
||||||
|
|
||||||
|
import json
|
||||||
|
|
||||||
|
type
|
||||||
|
ContentNodeKind* = enum
|
||||||
|
P,
|
||||||
|
Br,
|
||||||
|
Text,
|
||||||
|
ContentNode* = object
|
||||||
|
case kind*: ContentNodeKind
|
||||||
|
of P: pChildren*: seq[ContentNode]
|
||||||
|
of Br: nil
|
||||||
|
of Text: textStr*: string
|
||||||
|
|
||||||
|
let mynode = ContentNode(kind: P, pChildren: @[
|
||||||
|
ContentNode(kind: Text, textStr: "mychild"),
|
||||||
|
ContentNode(kind: Br)
|
||||||
|
])
|
||||||
|
|
||||||
|
echo "Original: " & $mynode
|
||||||
|
|
||||||
|
let jsonNode = %*mynode
|
||||||
|
echo "jsonNode: " & $jsonNode
|
||||||
|
echo "Reversed: " & $jsonNode.to(ContentNode)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue