PIJSON doc and << operator

This commit is contained in:
2022-09-30 21:09:57 +03:00
parent 0f48c206c3
commit 3c7e117661
3 changed files with 147 additions and 30 deletions

View File

@@ -30,35 +30,25 @@ const char J[] =
int main(int argc, char * argv[]) {
PIString s;
s = PIString::fromUTF8(J).trim();
s = PIString::fromUTF8("{\"st\\u0426r\":\"\\\\ \\\" \\u0425\\u0430\\n\"}");
//s = PIString::fromUTF8("{\"str\":\"Ха\"}");
PIJSON json = PIJSON::fromJSON(s);
//piCout << json;
//piCout << json.toJSON();
//json.resize(3);
//json["0"].setValue(123);
//json["1"].setValue("sec");
//json["2"]["f"].setValue(true);
//json["2"]["s"].setValue(-1);*/
//json[0]["Passport"]["id"] = 0xFF;
//piCout << json;
json = PIJSON();
json[0] = 123;
json[1] = PIString::fromUTF8("string русский хаха !");
json[2]["b"] = true;
json[2]["i"] = -1;
auto & arr(json[3]);
arr[0] = 10;
arr[1] = 11.2E-1;
arr[2] = "!!!";
json[5] = json[2];
json[7] = false;
//piCout << json;
struct {
PIString name;
PIString surname;
PIString email;
} persons[] = {
{"Ivan", "Ivanov", "ivan@pip.ru"},
{"Igor", "Igorevich", "igor@pip.ru"},
{"Andrey", "Andreevich", "andrey@pip.ru"}
};
PIJSON obj;
PIJSON json;
int index = 0;
for (const auto & p: persons) {
obj["index"] = index++;
obj["name"] = p.name;
obj["surname"] = p.surname;
obj["email"] = p.email;
json << obj;
}
piCout << json;
piCout << json.toJSON(PIJSON::Tree);
piCout << json.toJSON(PIJSON::Compact);
//piCout << json["str__"].toString().toUTF8();
return 0;
}