繁体   English   中英

如何在C ++中将地图写为json对象

[英]how to write a map as a json object in c++

我有一个将数据写入json键并与该值相对应。 我的键是具有两个值{int id&char * name}的结构,我的值也是具有三个值{int a,int b,int c}的结构。 我打算将密钥作为{id:name}放在json中,并且值也由定界符{a:b:c}分隔

从c ++结构到json对象的转换如何完成? 并再次读取此创建的json对象作为地图。

我第二次@Hot Licks是关于花5分钟学习JSON语法的。 甚至C ++。

假设键结构的id = 1234和name ='nandini',它将被序列化为:

"{ 'id': 1234, 'name': 'nandini' }"

与值结构同上,将不会具有您建议的格式,而是类似(对于具有值1、2和3的结构):

"{ 'a': 1, 'b': 2, 'c': 3 }"

序列化很容易。 您可以使用任何喜欢的字符串构建技术,包括sprintf或stringstream的任何变体。 您当然可以使用Json库。

至于映射部分,像其他语言一样,Json(或JavaScript)不支持字符串以外的键。 如果您使用的库支持std :: map-请使用它。 否则,您可能会附带一些对象数组或类似对象。 例如

"[ { key: {...}, val: {...} }, { key: {...}, val: {...} },    ...    ]

然后,在反序列化后,将数组放入映射中。

反序列化将更加棘手,您绝对应该看一下Json库。 看看JSON.org上的JSON解析器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM