Как преобразовать строку в быстрое значение json - PullRequest
0 голосов
/ 24 марта 2020

Я использую быструю библиотеку json для кодирования и распаковки json.

Я получил строку, скажем, string Str = "msisdn-123456789"; я хочу преобразовать это в быстрое json значение, но оно говорит об ошибке разбора. и тип значения по-прежнему kNullType

Я использую приведенный ниже фрагмент кода.

std::string Str = "msisdn-123456789";
rapidjson::Document newDoc;
newDoc.Parse(Str.c_str());
rapidjson::Value value(rapidjson::kNullType);
value.CopyFrom(newDoc, newDoc.GetAllocator());
cout << "Type of value" << static_cast<uint32_t>(value.GetType()) << endl; 

Вывод kNullType (0).

Как преобразовать строку в быстрое значение json?

1 Ответ

0 голосов
/ 25 марта 2020

std::string Str = "msisdn-123456789"; не является действительным JSON. Таким образом, при анализе он будет иметь нулевое значение в документе root. Для построения Value по std::string s, просто

Value v(s, allocator);                   // When RAPIDJSON_HAS_STDSTRING=1
Value v(s.c_str(), s.size(), allocator); // Otherwise
...