Comments (4)
Json objects are intentionally immutable. If you want to build a Json object incrementally, just create a Json::object (which is a typedef for map<string,Json>), add the elements you want, then construct a Json() from the final result. You can use the same using Json::array which is std::vector. The implicit constructors for various Json values should make it pretty easy to set the individual values from numbers or strings. If you need nested objects, just repeat the process I describe here at each level.
from json11.
Got it, thanks for your help, I will try it.
Best regards,
from json11.
I don't want to go deep debugging your code for you, but I don't see any
sign that the library is behaving badly. The first difference I see is an
extra array where there should, which looks like it maps to the Json::array
ar in your code, so I wonder why you think you need that.
Good luck.
Andrew
On Tue, Jan 5, 2016 at 12:38 AM, pengweichu [email protected]
wrote:
@artwyman https://github.com/artwyman I'm sorry, could you please help
me to create below JSON ?{"transports":{"1":{"protocol":"TCP","port":5060},
"2":{"protocol":"UDP","port":5062}, "3":{"protocol":"TLS","port":5068}}}Below is my code, but the out put string is :
{"transports": {"1": [{"protocol": "udp"}, {"port": 5060}], "2":
[{"protocol": "tcp"}, {"port": 5061}], "3": [{"protocol": "tls"}, {"port":
5062}]}}std::vectorstd::string transports;
transports.push_back("udp");
transports.push_back("tcp");
transports.push_back("tls");std::vector ports;
ports.push_back(5060);
ports.push_back(5061);
ports.push_back(5062);std::map<string, Json> finalJson;
for (int i = 0; i < 3; ++i)
{
std::map<std::string, std::string> m1;
m1["protocol"] = transports[i];std::map<std::string, int> m2; m2["port"] = ports[i]; Json::array ar; ar.push_back(Json(m1)); ar.push_back(Json(m2)); if (i == 0) { finalJson["1"] = Json(ar); } else if (i == 1) { finalJson["2"] = Json(ar); } else if (i == 2) { finalJson["3"] = Json(ar); }
}
Json::object ob;
ob["transports"] = Json(finalJson);
Json testJson = ob;std::string ttt = testJson.dump();
printf("%s\n", ttt.c_str());—
Reply to this email directly or view it on GitHub
#49 (comment).
from json11.
@artwyman Thanks, I have been got it solved. Sorry for bother.
Best regards,
from json11.
Related Issues (20)
- is it possible to add fields to the json? HOT 1
- in json11.cpp line 161 , why use static_cast, what if a json object is a runtime parsed object HOT 1
- clang 6.0 compilation error HOT 2
- Check if a json object key exists HOT 2
- differentiate between "number" and "integer" as per json schema HOT 1
- Tag Versioning HOT 6
- Number size issue.
- Can't parse wstring?
- auto casting HOT 4
- has_shape() always returns true when used with json11::Json::NUL HOT 1
- [Feature] conan package manager support HOT 1
- Order serealization Json::object HOT 2
- ASAN reports runtime error HOT 1
- swig4.0.0 and mingw compile the test.cpp(main modified to be a function) :error: 'final' is not a member of 'json11' HOT 3
- can't be loaded as a dll in low version c++? HOT 2
- Warning '-Werror=overloaded-virtual' with gcc-5.1.0 --std=c++14 HOT 1
- Making object_items(), array_items() not const or alternatively support mutable_object_items() HOT 1
- Super stuff. HOT 1
- No API to add Json (f.e. array) to Json::object outside of ctor. HOT 1
- Buliding for windows? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json11.