Hi Tommi,
hi list,
for the archive: "si.addMember() <<= ...;" results in error,
since "no matching function for call to
'cxxtools::SerializationInfo::addMember()" (API doc confirms
this).
The solution is to use an empty string: "si.addMember() <<=
...;" (and set the category to Array).
Thanks,
Sebastian
On 24.04.2014 22:40, Tommi Mäkitalo wrote:
Hi Sebastian,
the secret is to set the category of the
cxxtools::SerialzationInfo to Array and omit the name name
like this:
void operator<<= (cxxtools::SerializationInfo& si, const
ParticleFlight& pf)
{
si.addMember() <<= pf.type;
si.addMember() <<= pf.energy;
si.setCategory(cxxtools::SerializationInfo::Array);
}
When I follow your example it results in this json structure:
[["e",78.90000152587890625],["g",1234.56005859375]]
Note that the float has a quite significant rounding
error. The literal 78.9 is converted to a double
internally and the converted back to decimal.
Tommi
Am 23.04.2014 13:54, schrieb Sebastian Schoene:
Hi List,
I'm sure this is a trivial question, but ... you know ;-)
I need to serialize variables of different data types
into one unnamed list.
Minimal example:
=== === === ===
struct ParticleFlight{
char type;
float energy;
}
void operator<<= (cxxtools::SerializationInfo& si, const
ParticleFlight& pf) {
??????????
}
=== === === ===
... for JSON a datum
pf={'e', 511.2};
should result in
{"jsonrpc": "2.0", "result": ['e', 511.2], "id": 4}
and
v=vector<ParticleFlight>();
v.push_back({'e', 78.9});
v.push_back({'g', 1234.56});
in
{"jsonrpc": "2.0", "result": [ ['e', 78.9], ['g',
1234.56]], "id": 4}
According to the docs "An |Array| is just a list of
unnamed values." but how to use?
Thanks ,
Sebastian
------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Tntnet-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tntnet-general