在 rapidjson 上,只将数字编码为字符串,然后对其进行解码
on rapidjson, encode just a number to string then decode it
使用 rapidjson,如何将数字编码为 json 格式?我有 123.321,我想将它转换为“123.321”,然后将其保存在一个文件中。稍后使用 json 将其转换回 123.321。
我不想使用保存为“{"tag":"value"}”的文档,我希望将其保存为 "value",然后再转换回来。
我有以下代码将数字转换为 "number":
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);
感谢即将到来的帮助。
我在深入研究 google 后找到了答案:
使用 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
越简单越好。
使用 rapidjson,如何将数字编码为 json 格式?我有 123.321,我想将它转换为“123.321”,然后将其保存在一个文件中。稍后使用 json 将其转换回 123.321。 我不想使用保存为“{"tag":"value"}”的文档,我希望将其保存为 "value",然后再转换回来。
我有以下代码将数字转换为 "number":
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);
感谢即将到来的帮助。
我在深入研究 google 后找到了答案:
使用 rapidjson:
将数字编码为 jsonValue 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
越简单越好。