在该项目中,程序读取JSON文档(使用rapidjson),然后获取该JSON文档的一部分并尝试创建新的JSON值。下面的代码用于
# jsonstring is the JSON string
rapidjson::Document firstJSON = readJsonString(jsonstring);
# val is the Value which is a small part of firstJSON document
rapidjson::Value &val = firstJSON["A"]["B"];jsonstring如下所示
{
"A":
{
"B":
{
"e0":0.03974359855055809,
"e1":0.17799679934978486
}
}
"R": "stringval"
}因此,Val的值应该是
"B":
{
"e0":0.03974359855055809,
"e1":0.17799679934978486
}但是它给了我这样的输出:Val
"B":
{
"e0":0.0,
"e1":0.1
}因此,很明显,当尝试从文档中读取json的一部分并以rapidjson::Value读取它时,它只是取单个十进制值。
有谁能告诉我如何阅读rapidjson::Document并使rapidjson::Value具有双精度值?
事物已经尝试过了。--
reading from rapidjson::Document to rapidjson::Value
太感谢你了!
发布于 2020-11-24 10:01:53
将OP的评论改为:
的精度被设置为1,这就是你得到这个输出的原因。因此,将精度设置为18,这个问题就应该得到解决。
https://stackoverflow.com/questions/64983117
复制相似问题