diff --git a/reference/Jsonize/Jsonize.cpp b/reference/Jsonize/Jsonize.cpp index 842bbf21f..62fb39dde 100644 --- a/reference/Jsonize/Jsonize.cpp +++ b/reference/Jsonize/Jsonize.cpp @@ -1,59 +1,67 @@ -#include - -using namespace Upp; - -struct Data { - Size sz; - String text; - Vector vector; - VectorMap score; - VectorMap map; - ArrayMap sizemap; - double number; - bool option; - - void Jsonize(JsonIO& json); -}; - -void Data::Jsonize(JsonIO& json) -{ - json - ("Dimension", sz) - ("text", text) - ("vector", vector) - ("Scores", score) - ("map", map) - ("sizemap", sizemap) - ("number", number) - ("option", option) - ; -} - -CONSOLE_APP_MAIN -{ - StdLogSetup(LOG_COUT|LOG_FILE); - - Data x; - x.sz.cx = 10; - x.sz.cy = 20; - x.text = "Some text"; - x.vector.Add(Size(1, 2)); - x.vector.Add(Size(3, 4)); - x.score.Add("peter", 100); - x.score.Add("john", 10); - x.score.Add("frank", 20); - x.map.Add("keytext", "valuetext"); - x.map.Add("key1text", "value1text"); - x.sizemap.Add(1, Size(2, 3)); - x.sizemap.Add(10, Size(20, 30)); - x.number = -1.235e-30; - x.option = true; - - String json = StoreAsJson(x, true); - - LOG(json); - LOG("====================="); - Data y; - DUMP(LoadFromJson(y, json)); - LOG(StoreAsJson(y)); -} +#include + +using namespace Upp; + +struct Data { + Size sz; + String text; + Vector vector; + VectorMap score; + VectorMap map; + ArrayMap sizemap; + double number; + bool option; + + void Jsonize(JsonIO& json); + void Xmlize(XmlIO& xio) { XmlizeByJsonize(xio, *this); } +}; + +void Data::Jsonize(JsonIO& json) +{ + json + ("Dimension", sz) + ("text", text) + ("vector", vector) + ("Scores", score) + ("map", map) + ("sizemap", sizemap) + ("number", number) + ("option", option) + ; +} + +CONSOLE_APP_MAIN +{ + StdLogSetup(LOG_COUT|LOG_FILE); + + Data x; + x.sz.cx = 10; + x.sz.cy = 20; + x.text = "Some text"; + x.vector.Add(Size(1, 2)); + x.vector.Add(Size(3, 4)); + x.score.Add("peter", 100); + x.score.Add("john", 10); + x.score.Add("frank", 20); + x.map.Add("keytext", "valuetext"); + x.map.Add("key1text", "value1text"); + x.sizemap.Add(1, Size(2, 3)); + x.sizemap.Add(10, Size(20, 30)); + x.number = -1.235e-30; + x.option = true; + + String json = StoreAsJson(x, true); + + LOG(json); + LOG("====================="); + Data y; + DUMP(LoadFromJson(y, json)); + LOG(StoreAsJson(y)); + + LOG("====================="); + String xml = StoreAsXML(x, "test"); + DUMP(xml); + Data z; + DUMP(LoadFromXML(z, xml)); + LOG(StoreAsXML(z, "test")); +}