#c #json #rapidjson
#c #json #rapidjson
Вопрос:
В проекте программа считывает документ 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 amp;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 из Document и прочитать его в rapidjson::Value он просто принимает одно десятичное значение.
Может кто-нибудь, пожалуйста, скажите мне, как читать из rapidjson::Document и создавать rapidjson::Value с двойной точностью значений?
Все пытались.
- Пытался установить точность, но у меня не было способа установить точность для
reading from rapidjson::Document to rapidjson::Value
Большое вам спасибо!!
Комментарии:
1. Как вы получаете этот вывод?
2. @Botje извините, точность была установлена на 1, вот почему я получал этот результат. Итак, установите точность на 18, и проблема решена. Спасибо!
Ответ №1:
Преобразовал комментарий OP в ответ:
Точность была установлена на 1, вот почему вы получаете этот вывод. Поэтому установите точность на 18, и эта проблема должна быть решена.