mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
reference: JSON reference example
git-svn-id: svn://ultimatepp.org/upp/trunk@4126 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
258d544fac
commit
94d5403673
4 changed files with 126 additions and 0 deletions
10
reference/JSON/JSON.upp
Normal file
10
reference/JSON/JSON.upp
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
uses
|
||||
Core;
|
||||
|
||||
file
|
||||
test.json,
|
||||
main.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "SSE2";
|
||||
|
||||
4
reference/JSON/init
Normal file
4
reference/JSON/init
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#ifndef _JSON_icpp_init_stub
|
||||
#define _JSON_icpp_init_stub
|
||||
#include "Core/init"
|
||||
#endif
|
||||
33
reference/JSON/main.cpp
Normal file
33
reference/JSON/main.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#include "JSON.h"
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
Value js = ParseJSON(LoadFile(GetDataFile("test.json")));
|
||||
DUMP(js);
|
||||
DUMP(js["age"]);
|
||||
Value phone_number = js["phoneNumber"];
|
||||
DUMP(phone_number);
|
||||
DUMP(phone_number.GetCount());
|
||||
for(int i = 0; i < phone_number.GetCount(); i++) {
|
||||
DUMP(phone_number[i]["type"]);
|
||||
DUMP(phone_number[i]["number"]);
|
||||
}
|
||||
|
||||
DUMP(AsJSON(js, true));
|
||||
DUMP(AsJSON(js));
|
||||
|
||||
LOG("- Partial parsing");
|
||||
ValueArray va;
|
||||
va << js << js << js;
|
||||
String s = AsJSON(va);
|
||||
DUMP(s);
|
||||
CParser p2(s);
|
||||
p2.PassChar('[');
|
||||
if(!p2.Char(']')) {
|
||||
do {
|
||||
DUMP(ParseJSON(p2)["firstName"]);
|
||||
}
|
||||
while(p2.Char(','));
|
||||
p2.PassChar(']');
|
||||
}
|
||||
}
|
||||
79
reference/JSON/test.json
Normal file
79
reference/JSON/test.json
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
{
|
||||
"firstName": "John",
|
||||
"lastName" : "Smith",
|
||||
"age" : 25,
|
||||
"address" :
|
||||
{
|
||||
"streetAddress": "21 2nd Street",
|
||||
"city" : "New York",
|
||||
"state" : "NY",
|
||||
"postalCode" : "10021"
|
||||
},
|
||||
"phoneNumber":
|
||||
[
|
||||
{
|
||||
"type" : "home",
|
||||
"number": "212 555-1234"
|
||||
},
|
||||
{
|
||||
"type" : "fax",
|
||||
"number": "646 555-4567"
|
||||
}
|
||||
],
|
||||
"nulltest" : null,
|
||||
"truetest" : true,
|
||||
"falsetest" : false
|
||||
},
|
||||
{
|
||||
"firstName": "John",
|
||||
"lastName" : "Smith",
|
||||
"age" : 25,
|
||||
"address" :
|
||||
{
|
||||
"streetAddress": "21 2nd Street",
|
||||
"city" : "New York",
|
||||
"state" : "NY",
|
||||
"postalCode" : "10021"
|
||||
},
|
||||
"phoneNumber":
|
||||
[
|
||||
{
|
||||
"type" : "home",
|
||||
"number": "212 555-1234"
|
||||
},
|
||||
{
|
||||
"type" : "fax",
|
||||
"number": "646 555-4567"
|
||||
}
|
||||
],
|
||||
"nulltest" : null,
|
||||
"truetest" : true,
|
||||
"falsetest" : false
|
||||
},
|
||||
{
|
||||
"firstName": "John",
|
||||
"lastName" : "Smith",
|
||||
"age" : 25,
|
||||
"address" :
|
||||
{
|
||||
"streetAddress": "21 2nd Street",
|
||||
"city" : "New York",
|
||||
"state" : "NY",
|
||||
"postalCode" : "10021"
|
||||
},
|
||||
"phoneNumber":
|
||||
[
|
||||
{
|
||||
"type" : "home",
|
||||
"number": "212 555-1234"
|
||||
},
|
||||
{
|
||||
"type" : "fax",
|
||||
"number": "646 555-4567"
|
||||
}
|
||||
],
|
||||
"nulltest" : null,
|
||||
"truetest" : true,
|
||||
"falsetest" : false
|
||||
}
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue