Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site











SourceForge.net Logo

JSON

 

Using U++ JSON support functions and classes

 

 

main.cpp

 

#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));

}

 

 

 

 

Do you want to contribute?