EXERCISING JSON

JSON compact output:
{"Title":"G-WAN Forum users","Pierre":{"created":1563472083,"password":"123","coder":true},"Paul":{"created":1563472083,"password":"456","coder":false}}
JSON formated output (with tabs, spaces, CRs):
{
	"Title":	"G-WAN Forum users",
	"Pierre":	{
		"created":	1563472083,
		"password":	"123",
		"coder":	true
	},
	"Paul":	{
		"created":	1563472083,
		"password":	"456",
		"coder":	false
	}
}
Searching, Querying and Updating Paul:
Does Paul exist: yes
Paul's password: 456
New password: abc
Account created: Fri Jul 19 00:48:03 2019

Removed Pierre, Paul and Title:
{ }

Adding Pierre again.
Adding IDs[], an array of items to Pierre:
{
	"Pierre":	{
		"created":	1563472083,
		"password":	"123",
		"coder":	true,
		"IDs":	[ 1, 1.1, -1.00001, 9.99, 9.99185, 54.1025, 45, -4578 ]
	}
}
Get IDs[i] by its array index value:
IDs[ 2] = -1.000010
IDs[200] not found

Update IDs[i]'s NUMERIC value:
IDs[2] = 777.000000

Update IDs[i]'s NUMERIC value directly:
IDs[2] = -88.800000

Adding an array of nodes (Jack, Tom, Kate):
{
	"Pierre":	{
		"created":	1563472083,
		"password":	"123",
		"coder":	true,
		"IDs":	[ 1, 1.1, -88.8, 9.99, 9.99185, 54.1025, 45, -4578 ]
	},
	"staff":	[ {
			"name":	"Jack",
			"created":	1563472083,
			"password":	"qve",
			"coder":	false
		}, {
			"name":	"Tom",
			"created":	1563472083,
			"password":	"smt",
			"coder":	true
		}, {
			"name":	"Kate",
			"created":	1563472083,
			"password":	"fix",
			"coder":	true
		} ]
}
Searching item 'KATE' by its value:
Kate found: Kate's password: 'fix'

Finding 'Kate' (the parent node) from its (child) 'password' node:
user found: 'Kate'

Clear tree, rebuild it from text and parse it:
Parsing worked.

JSON compact output:
{"Pierre":{"created":1563472083,"password":"123","coder":true,"IDs":[1,1.1,-88.8,9.99,9.99185,54.1025,45,-4578]},"staff":[{"name":"Jack","created":1563472083,"password":"qve","coder":false},{"name":"Tom","created":1563472083,"password":"smt","coder":true},{"name":"Kate","created":1563472083,"password":"fix","coder":true}]}
JSON formated output (with tabs, spaces, CRs):
{
	"Pierre":	{
		"created":	1563472083,
		"password":	"123",
		"coder":	true,
		"IDs":	[ 1, 1.1, -88.8, 9.99, 9.99185, 54.1025, 45, -4578 ]
	},
	"staff":	[ {
			"name":	"Jack",
			"created":	1563472083,
			"password":	"qve",
			"coder":	false
		}, {
			"name":	"Tom",
			"created":	1563472083,
			"password":	"smt",
			"coder":	true
		}, {
			"name":	"Kate",
			"created":	1563472083,
			"password":	"fix",
			"coder":	true
		} ]
}
Traversing our JSON tree:
o Type: NODE Name: Pierre Value: N/A
oo Type: INTEGER Name: created Value: 1563472083
oo Type: STRING Name: password Value: 123
oo Type: TRUE Name: coder Value: N/A
oo Type: ARRAY Name: IDs Value: N/A
ooo Type: INTEGER Name: (null) Value: 1
ooo Type: REAL Name: (null) Value: 1.100000
ooo Type: REAL Name: (null) Value: -88.800000
ooo Type: REAL Name: (null) Value: 9.990000
ooo Type: REAL Name: (null) Value: 9.991850
ooo Type: REAL Name: (null) Value: 54.102500
ooo Type: INTEGER Name: (null) Value: 45
ooo Type: INTEGER Name: (null) Value: 4294962718
ooo (null)
oo (null)
o Type: ARRAY Name: staff Value: N/A
oo Type: NODE Name: (null) Value: N/A
ooo Type: STRING Name: name Value: Jack
ooo Type: INTEGER Name: created Value: 1563472083
ooo Type: STRING Name: password Value: qve
ooo Type: FALSE Name: coder Value: N/A
ooo (null)
oo Type: NODE Name: (null) Value: N/A
ooo Type: STRING Name: name Value: Tom
ooo Type: INTEGER Name: created Value: 1563472083
ooo Type: STRING Name: password Value: smt
ooo Type: TRUE Name: coder Value: N/A
ooo (null)
oo Type: NODE Name: (null) Value: N/A
ooo Type: STRING Name: name Value: Kate
ooo Type: INTEGER Name: created Value: 1563472083
ooo Type: STRING Name: password Value: fix
ooo Type: TRUE Name: coder Value: N/A
ooo (null)
oo (null)
o (null)

Freeing the JSON tree:
Done.