问题标签 [jansson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 什么时候释放 json_string() 分配的内存?
这是调用 json_string() 的堆栈跟踪:
json_string(const char *值)
json_stringn(值,strlen(值))
json_stringn_nocheck(值,长度)
字符串创建(值,长度,0)
string_create
然后调用 json_strndup(value,len) 来复制字符串的值。
问题是我无法找出这个分配的内存何时value
被释放。
json - json-c json_object_to_json_string() 等价 api 在 jansson 库中
在当前代码中,我使用的是 json-c。我正在迁移到 jansson。在 jansson 中需要一个等效的 api 来转换 json_object_to_json_string。我找到了一个,但它需要一个 json 字符串对象,否则它返回 null。
const char *json_string_value(const json_t *string) - 不工作
但我的输入是一个JSON
对象而不是一个JSON
字符串
样本:
谢谢。
c - jansson-更改文件中的json值
我有一个 json 文件。并且,文件已成功加载。但是,我想更改如下值并保存带有修改的 json 文件。但是,该值根本没有改变和保存。我该怎么办?
来自 /home/pi/desktop/test.json
到 /home/pi/desktop/test.json
所以我做了
c++ - 如何在我的 C++ 代码中获得运行时的双重免费错误
我在我的 c++ 代码中使用 Jansson 库。在库中创建任何 Jansson 变量时,应该释放该变量以释放引用,我正在使用 'json_decref(json_t *json)' 方法来释放。但有时它会导致双重释放问题,而我在运行时没有遇到问题。也许这不正常,但是当我尝试释放一些引用时,我想得到一个运行时错误。例如,我正在运行以下测试代码,
如您所见,存在问题,并且我没有收到任何运行时错误,例如双重释放。
另外,我正在使用 CMake 来编译我的源代码。也许任何 cmake 标志都可以解决我的问题。
任何想法 ?
c - 使用 Jansson API 编辑 json 对象
我正在使用 jansson 库,我想编辑一个 Json 对象,我该怎么做,我必须使用任何特定的 API 吗?如果这个问题被重复,请饶了我。提前致谢。
c++ - 无法区分 JSON 对象/数组/字符串
我正在尝试使用 Jansson 库来解析 JSON 字符串。我无法正确解析它。这是我在 C++ 中的代码
我不明白Rescue
是字符串、对象还是数组。我尝试了所有三个选项 as if (!json_is_string(Rescue))
,但它总是打印if (!json_is_array(Rescue))
" error: Rescue is not string"。if (!json_is_object(Rescue))
请问有什么帮助吗?
c - 如何在 Azure Sphere Visual Studio 项目中添加库依赖项?
我正在构建一个 Azure Sphere C 应用程序,从 HTTPS_Curl_Easy 示例项目开始。我需要json解析,所以我下载了Jansson库代码。Jansson 在使用 Cmake 时生成的项目不会添加为我的 Sphere 项目的引用,因为它以 Win32 为目标,所以我创建了一个空的 Azure 球体库项目,将所有 jansson 代码复制到其中并弄乱了定义的变量,直到项目编译。
现在我正在尝试将 Jansson 库添加到我的 HTTPS_Curl_Easy 示例中,但是我无法让它在项目中可用(它说 jansson.h 不可用):
两个具体问题:
在 azure Sphere 库项目中,我如何告诉它要导出什么?项目模板有一个 Inc\Public 文件夹 - 头文件是否必须在其中?(我的不是因为源不会在那里构建)
我应该如何在 Azure Sphere 项目中添加对库项目的引用?我右键单击该项目并单击 add->reference 以添加我的 jansson_sphere 库项目,但尽管它在项目文件中,但它没有显示在我能找到的任何依赖项列表中。
我的项目和我尝试构建 Jansson 的源代码在 github 中:https ://github.com/Joon/HTTPS_Curl_Easy
c - 如何将 librdkafka 有效负载转换为 json 以获取参数值?
我正在使用 librdkafka 的consumer.c 示例文件,我试图弄清楚如何将 rkm 有效负载(在第 244 行打印出来)转换为 json,以便我可以从 json 中获取参数的值.
现在我正在使用jansson,但遇到了一些问题,如果需要我可以扩展。
librdkafka 或我不知道的标准 C 库中是否有此功能?
c - 为什么添加 aSan 库后我的代码停止崩溃?
我目前正在调试 C 代码。这基本上是来自数据收集平台的客户端,我从链接列表中读取到奇怪的错误。问题基本上是最后一项的“下一个”指针在某个未知点从 NULL 更改为 0xFFFFFFFFF。然后我尝试使用地址清理程序编译我的库,以便找到错误错误可能在哪里并且错误消失了,或者最好说错误当前是隐藏的。可能吗?Asan 库如何影响代码以使其不崩溃?提前致谢。
编辑:抱歉描述不佳,我会尝试更深入。我一直在调试代码,我发现问题出在哪里。它位于 json 配置文件的解析函数中(为此我使用 jansson 库)。json格式是这样的:
我有一个这样的结构来存储这些数据
真正的问题在于列表 XXX_systems。我每个设备都有一个列表,我可以在同一个结构中拥有多个设备,其中第一个元素(在 XXX_Device 设备数组中)是主要单元。正是在这个设备中,我丢失了信息。解析功能看起来工作正常。在函数结束时,结构具有权限值,但是当我释放 json“对象”时,我失去了 的引用XXX_systems->next
,但奇怪的是,如果我不释放一些 json“对象”,一切正常.. .
因此,在这种情况下,我丢失了信息:
但是如果我这样评论 json_decref
一切正常...
c - 共享库符号冲突 - C
我有一个链接到 json-c 和第三方库的应用程序。这个第三方库链接到 libjansson 库。因此,当我执行我的应用程序时,由于内存损坏作为无效指针,它会崩溃。
经过分析,这两个库都有json_object_get()
导致奇怪行为的 API。如果我从 json-c 库更改此 API 名称,应用程序将按预期工作。
由于我什至尝试将 libjannson 静态链接到第三方库以及将 json-c 静态链接到应用程序,它不会崩溃但仍然会失败 json-c 调用。
场景如下:
app
链接到 libjson_c_lib.so 和 libjansson_c_lib.so。这两个都是 json-c 和 jannson 之上的包装库。libjson_c_so
链接到 libjson-c.solibjansson_c.so
链接到 libjansson.so。
你能请人帮忙吗?