问题标签 [cjson]

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.

0 投票
1 回答
280 浏览

python - 尝试在 Maya 2018 Python 环境中导入 cjson

我想在 Maya 2018 中使用cjson,但遇到了一些麻烦。原始工具似乎是 32 位编译的(https://pypi.org/project/python-cjson/ ),所以我环顾四周,发现了一个从https://www.lfd以 64 位编译的版本。 uci.edu/~gohlke/pythonlibs/

在管理员模式下使用“C:\

但是,当我尝试导入它时,我得到了错误:

以前有没有人有过将此模块导入 Maya 的经验?

我有一种感觉,这可能是为了做 DLL 依赖,但我不知道从哪里开始解决它。

0 投票
1 回答
1288 浏览

cjson - cJSON 字段不存在

我有一个如下的 JSON 数组。我正在使用 cJSON 来解析它。但是,我想检查我的数组中是否存在字段。我尝试使用 cJSON_GetObjectItem 和 cJSON_IsNull 并将其返回值与 NULL 进行比较以确定字段是否不存在。

但是,这似乎不起作用。是否有其他方法可以确定字段是否存在(例如:第二个子数组中不存在年龄)?

0 投票
1 回答
1242 浏览

lua - Lua中的cjson解码返回空数组redis-cli

我有一个大型 JSON 对象数组作为编码字符串存储在 redis 中。

我想使用 lua 脚本遍历这个数组,以将这些数据迁移到更易于管理的形式中。但是,当我尝试使用 cjson 解码创建 lua 表时...

我得到一个空数组或集合的列表(redis-cli ldb 不确定哪个)

为什么会这样?它很大,但不是特别大。(~6 MB)字符串是使用JSON.stringify.

0 投票
1 回答
1233 浏览

json - 如何在 Redis 的 Lua cjson 中检查 nil/null?

我有一个带有代码块的lua脚本,如下所示:

当我尝试使用以下命令 KEYS 和 ARGV 运行脚本时:-

错误 :-

0 投票
0 回答
88 浏览

cjson - 我无法通过有效的方式使用 cjson 来解析巨大的 json 文件,但是 cjson 库很好实现

我想以更高的准确性和更少的代码实现来解析一个巨大的 json。有没有可能实现。我能够将一个巨大的文件解析到缓冲区中,但是当我尝试访问 json 的值时,我需要为所有键和值单独执行。是否有可能仅在需要时检索对象的值。请提供我的示例来解析巨大的 json 文件并使用值

0 投票
2 回答
899 浏览

c - 如何将 uint8_t 从 uart_read_bytes 转换为 char 或可以添加到 cJSON 对象的东西?

在这里,我正在从与另一个正在发送字节的设备通信的 UART 中读取数据。如果我得到一个 3 个字节的整数值,如何最好地将它转换为我可以使用 cJSON 发送的东西。我可以获取该值并对其进行迭代,但是一旦将其放入 char 数组中,我什至无法再看到该值。想法?

for 循环将向我显示每个值,例如 1、2、3(作为单个字节发送的单个整数,而不是字符串而不是 '1'、'2'、'3' - 但我不想将它组合起来进入 123 这就是我设置临时数组的原因。即使我没有向其中添加空字符,它也不会打印任何内容。如果我可以将其设置为单个值(123),甚至是 char(字符串类型),然后我可以将它添加到一个 cJSON 对象并发送它。

0 投票
2 回答
137 浏览

c - 如何使用 POSIX 通过父进程返回 cJSON 片段?

tl; dr:我如何配置cJSON以在子进程中分配内存,以便父进程可以看到生成的结构?


我有一个请求,其中列出了要为其生成摘要并以 JSON 形式返回的多个产品。目前,我的代码是单线程的,并使用 cJSON 库来组合和编组 JSON。

由于摘要的计算成本很高(用户请求将某些计算作为摘要的一部分执行),我想fork(2)为每个请求的产品,然后让它获取、处理和总结cJSON_Object(从技术上讲cJSON*,但“构造函数”是cJSON_CreateObject) ,然后让父线程等待所有子线程返回他们的cJSON_Object对象以连接在一起,执行一些后期处理,最后编组为一个字符串返回。由于后处理,我想返回父 acJSON_Object而不是让子线程返回字符串。

现在,我看到cJSON.h:144 CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks)which 接受cJSON.h:125 struct internal_hooks允许您指定自定义malloc()free()实现...如果我能找到分配共享内存的版本...并共享相同类型,那将是非常好的。我找到的最接近的是shmalloc/shfree但这来自OpenMPI库,对于看起来应该是简单的工作线程的东西来说似乎有点矫枉过正......

现在,这就是我卡住的地方如何将 cJSON 结构图从子进程返回到父进程

我附上了我认为最好的(尽管未经测试的)解决方案,作为不进一步混淆这个问题的答案。

PS - 最好该解决方案将自身限制为 POSIX API,但仅限 Linux 是可以接受的,并且作为最后的手段使用附加库。

0 投票
3 回答
244 浏览

c - 如何在 C 中同时使用 GTK 和 libcurl?

我正在尝试使用 GTK 为 GUI 开发 C 应用程序,使用 libcurl 通过 Web API 获取数据,并使用 cJSON 来解析 JSON。

我的问题是,当我在 gtk_init 之后使用 libcurl 进行请求时,我得到的数据无法解析为 JSON。否则,如果我在 gtk_init 之前获取数据并对其进行解析,则解析工作正常。

我有一个例子来演示它,main中的第一个printf正确返回JSON,但是gtk_init之后的第二个printf返回NULL(准确地说,解析在第一个十进制数处停止并失败):

初始化字符串:

写函数:

我使用 libcurl 获取数据的功能:

主要的 :

我试图通过使用 g_idle_add、gdk_threads_idle_add、gdk_threads_entry 和 gdk_threads_leave、pthread_create 和 pthread_join 创建线程来解决这个问题,但没有任何效果。

有人知道如何解决这个问题吗?

谢谢。

0 投票
0 回答
198 浏览

c - 使用 cjson 解析 json

我想解析 json{"endtime":"<timestamp>", "status":"on"}并且时间戳包含类似3/27/2019 7:40:47 AM.

我的代码如下:

我想检查状态是否包含开/关并从结束时间获取时间戳。

这是正确的解析方式吗?

0 投票
0 回答
1122 浏览

c - 将 cjson json 转换为字符串

我正在使用cjson库来创建json并将其发送到服务器。我正在使用以下代码

我得到以下输出

但是服务器希望它是这样的字符串格式

我很困惑如何实现这种转换?