SIGSEGV 使用 JsonCpp 解析字符串时
SIGSEGV when parsing string with 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 文档,但似乎找不到我的代码有什么问题。
我没有看过你的代码,但你的 JSON 无效。 键名称必须用引号引起来。 尝试:
Task t = Serialize::parseTask("{ "text": "Some Task", "status": 1 }");
相关文章:
- 在 c++ 中对字符串使用复制函数时打印的垃圾值
- 是否可以对任何语句字符串使用预准备语句?
- 对字符串使用 set_union
- 在C++中标记化"Braced Initializer List"样式字符串(使用 Boost?
- 带有字符串(使用char数组)参数的构造函数
- Regex:对非常数字符串使用smatch
- 拆分C++字符串(使用 strtok?),由逗号分隔,不使用外部库
- 如何在ORACLE数据库的结果集中返回空字符串(使用sys_refcursor)
- 对字符串使用小于比较运算符
- 对C++字符串使用 std 转换
- 我的源字符串使用哪种编码
- 在 C++ 中对字符串使用 OR 运算符
- 如何扫描 N 个字符串(使用结构),然后反向输出该字符串列表
- 对字符串使用cin.good
- 输出字符串使用 C++ 覆盖 Linux 终端上的最后一个字符串
- python字符串使用特殊字符发送到c++dll,崩溃
- 为什么字符串使用字符*
- 在 C++ 中拆分字符串(使用 cin)
- 标准::字符串使用的可用内存
- 为什么对字符串使用 "t" 而不是 "<press TAB>"?