SIGSEGV при разборе строки с помощью JsonCpp

У меня есть задача, сериализованная как JSON:

{
text: "Some task",
status: 1
}

Я использую эту функцию внутри Serialize Пространство имен:

Task parseTask(std::string task) {
Json::Value root;
Json::Reader reader;

if(reader.parse(task, root, false)) {
std::string text = root["text"].asString();
int status = root["status"].asInt();

Task result(text);
if(status == 1) result.setCompleted();
return result;
}
}

Я вызываю функцию следующим образом:

Task t = Serialize::parseTask("{ text: \"Some Task\", status: 1 }");

И составление с -ljsoncpp вариант. Однако я получаю:

terminated by signal SIGSEGV (Address boundary error)

Я просматривал документацию по JsonCpp, но не могу найти, что случилось с моим кодом.

0

Решение

Я не посмотрел ваш код, но ваш JSON недействителен. Имена ключей должны быть заключены в кавычки. Пытаться:

Task t = Serialize::parseTask("{ \"text\": \"Some Task\", \"status\": 1 }");
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]