1

使用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);

感谢即将到来的帮助。

4

1 回答 1

2

我在挖掘谷歌后找到了答案:

使用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

尽可能简单。

于 2015-09-21T12:20:50.420 回答