gpt4 book ai didi

c++ - 在 rapidjson 上,只将数字编码为字符串,然后对其进行解码

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:21 25 4
gpt4 key购买 nike

使用rapidjson,如何将数字编码为json 格式?我有 123.321,我想将它转换为“123.321”,然后将其保存在一个文件中。稍后使用 json 将其转换回 123.321。我不想使用保存为“{"tag":"value"}”的文档,我希望它仅保存为“值”,然后再转换回来。

我有以下代码将数字转换为“数字”:

Value v(123);
StringBuffer mybuffer;
Writer<StringBuffer> mywriter(mybuffer);
v.Accept(mywriter);
const char* myjson = mybuffer.GetString();

如何转换回来?以下是解决方案吗?我不想使用处理程序!

Reader reader;           
StringStream ss(myjson);
reader.Parse(ss, handler);

感谢即将到来的帮助。

最佳答案

我在谷歌搜索后才找到答案:

使用 rapidjson 将数字编码为 json :

Value v(123.321);
StringBuffer mybuffer;
Writer<StringBuffer> mywriter(mybuffer);
v.Accept(mywriter);
const char* myjson = mybuffer.GetString();

现在 myjson 的值是“123.321”。然后将 myjson 解码为一个数字:

Document d;
d.Parse(myjson); // myjson is "123.321"
assert(d.IsNumber());
value = d.GetDouble(); // now the value is 123.321

越简单越好。

关于c++ - 在 rapidjson 上,只将数字编码为字符串,然后对其进行解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32600421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com