mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 14:16:09 -06:00
55 lines
1.2 KiB
C++
55 lines
1.2 KiB
C++
#include "Core/Core.h"
|
|
|
|
using namespace Upp;
|
|
|
|
CONSOLE_APP_MAIN
|
|
{
|
|
StdLogSetup(LOG_COUT|LOG_FILE);
|
|
|
|
String s = LoadFile(GetDataFile("test.json"));
|
|
Value js = ParseJSON(s)[0];
|
|
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");
|
|
DUMP(s);
|
|
CParser p2(s);
|
|
try {
|
|
p2.PassChar('[');
|
|
if(!p2.Char(']')) {
|
|
do {
|
|
DUMP(ParseJSON(p2)["firstName"]);
|
|
}
|
|
while(p2.Char(','));
|
|
p2.PassChar(']');
|
|
}
|
|
}
|
|
catch(CParser::Error) {
|
|
LOG("invalid JSON");
|
|
}
|
|
|
|
LOG("- Composing JSON using support classes");
|
|
Json json;
|
|
json
|
|
("firstName", "Andrew")
|
|
("secondName", "Smith")
|
|
("age", 28)
|
|
("address", Json("streetAddress", "23 3rd Street")("city", "New York"))
|
|
;
|
|
JsonArray pn;
|
|
pn << Json("type", "home")("number", "12312345")
|
|
<< Json("type", "work")("number", "87126388");
|
|
json("phoneNumber", pn);
|
|
DUMP(~json);
|
|
DUMP(AsJSON(ParseJSON(~json), true));
|
|
}
|