Я пытаюсь понять преобразование JSON в строку и преобразование строки в JSON, используя инфраструктуру nlohmann для библиотеки JSON в C ++.Однако у меня возникает проблема с сгенерированным исключением, и я не понимаю причину, по которой оно генерируется.
Ниже приведен код, который я использовал из среды nlohmann.Я попытался создать объект JSON "j_string", добавить атрибут "translation_matrix" и добавить к нему соответствующее значение типа string из предопределенной переменной "greetings".Теперь я пытаюсь преобразовать строку в JSON, затем проанализировать ее и снова преобразовать в строку.По сути, я пытаюсь отправить эти данные через UDP, что является полной идеей моего проекта.Для этого мне нужно преобразовать строку в JSON, выполнить некоторые вычисления, чтобы извлечь определенное значение атрибута, а затем преобразовать его обратно в строку и отправить через UDP.Когда я пытаюсь преобразовать строку в JSON, я получаю исключение от компилятора.Я использую Visual Studio 2019. Сгенерировано следующее исключение:
"Необработанное исключение в 0x772718A2 в jsoncpp2.exe: исключение Microsoft C ++: nlohmann :: detail :: type_error в расположении памяти 0x00E9F504."
Дайте мне знать, почему генерируется такое исключение.Когда я компилирую код, он говорит, что нет ошибки.Однако, когда я выполняю это, я получаю исключение.Я добавил необходимые файлы и заголовки.
#include<iostream>
#include<sstream>
#include<nlohmann/json.hpp>
using json = nlohmann::json;
int main() {
std::string greetings = "greetings from string";
json j_string;
j_string["transformation matrix"] = greetings;
auto cpp_string = j_string.get<std::string>();
std::string serialized_string = j_string.dump();
std::cout << serialized_string << '\n';
}
Мой ожидаемый результат:
[
"transfornation matrix" : "greetings from string"
]