问题标签 [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 回答
1105 浏览

json - Lua嵌套Json,删除单个出现或多个出现的列表

所以我在这里要做的是对于给定的json_body,它使用cjson将json解码为表我想通过可配置的值conf.remove.json删除给定的元素,我觉得我很接近但它仍然无法正常工作,还有更好的方法吗?有没有一种安全的方法可以找到表格“深度”,然后像 conf.remove.json= I.want.to.remove.this 一样创建行为 json_table[I][want][to][remove][this ] = nil 而不抛出某种 NPE?

感谢任何提供帮助的人,这是我使用 Lua 的第一天,所以我很新手。

0 投票
1 回答
659 浏览

c - C字符串有随机尾随字符,空终止问题?

cJSON结合使用 JNI 在我的 Java 和 C 组件之间来回传递 JSON 数据。

我是 C 的新手并且自学,所以请耐心等待。

cJSON有一个很好的函数,cJSON->Print它将 JSON 结构转换为字符串表示。这很好,除了字符串是“JSON Pretty”格式,所有换行符和制表符都完好无损。我不需要这些,因为我的应用程序不显示 JSON,它只是将它用于数据传输。所以,我正在尝试编写一个函数来删除那些多余的字符。

这有效地删除了\nand\t字符就好了,但有时最后我会得到一些垃圾字符,比如6or ?,这让我认为这是一个空终止问题。

printf在 C 中使用并在 Java 中打印时,字符串的输出方式相同。

NUL在调用函数之前,我确保为字符分配的字节比我需要的多一个字节:

任何帮助是极大的赞赏。

0 投票
1 回答
420 浏览

lua - lua cjson 编码 nil 字段

我有一个 lua 表,例如:

ngx.say 输出如下:

如您所见,_table 中的电话字段已被忽略!如何在 cjson 编码处理期间设置编码选项以包含任何 nil 字段。如:

0 投票
1 回答
1406 浏览

c - 为什么使用 paho.mqtt.c 发送此消息导致分段错误?

我正在尝试使用 MQTT 协议发送特定的消息类型。我正在使用 paho.mqtt.c 库,我的代理是 RabbitMQ 3.6.12,运行 Erlang 20.0。我正在使用运行 CentOS 6.9 的虚拟机。我首先尝试通过为我的特定消息类型创建一个结构来做到这一点,然后在问这个问题之前,我还尝试使用 JSON 来创建我的特定消息类型。我安装了 cJSON(从这里)。

这是我使用 cJSON 的整个代码:

pubframe.c:

子框架.c:

工具.c:

订阅者的输出是

因此,似乎没有正确接收到消息,因为订阅者在尝试获取项目数时立即崩溃。

这是我运行 gdb 时得到的,不确定是否有帮助。

发布者的输出是

所以看起来消息是正确创建的。

我最近刚刚研究了 cJSON,所以我会继续调查以防我使用错了,但我们将不胜感激。我试图按照评论中的建议缩小范围,但我看不到我能做什么,因为它一旦尝试访问消息的有效负载就会崩溃。

请记住,我只是一名在计算机科学领域拥有不超过一年经验的学生。另外,英语不是我的母语,我希望我能清楚地解释自己。

0 投票
1 回答
2564 浏览

c - cJSON解析建议

我正在尝试使用 CJSON 在我的微控制器代码中解析以下 JSON 字符串。

到目前为止,我尝试过这个来过滤 A 的字符串。然后我可以再次运行解析以从 A 中过滤 A1。代码不起作用。它打印“error_ptr”。

我需要分别解析所有字符串及其值,然后打印出来。有人可以请教吗?

问候。

0 投票
1 回答
340 浏览

lua - cjson 编码 - 从字符串中删除“”

我有一个 JWT,我正在解码并打印到我的日志中,但问题是当我这样做时,它还包括我不想要的“”......

这是为我工作的代码片段

所以在我的日志中看起来像这样

所以我想从yesyesyes周围删除“”

0 投票
1 回答
1422 浏览

azure - 对“cJSON_Parse”的未定义引用

我正在使用 Azure SDK。在 SDK 中,我包含了 cJSON 功能,我知道我需要将 cJSON.h 链接到我的代码。但是在 azure makefile 中,我发现它很难。帮助链接 cJSON 头文件。

0 投票
2 回答
3857 浏览

cjson - cJSON 建立一个数组?

好吧,我是 cJSON 的新手。我想构建一个 JSON 格式的数据,像这样:

那么,我应该如何使用 cJson.c & cJson.h 源代码来实现呢?

0 投票
1 回答
1541 浏览

lua - Redis cjson:有没有办法在不完全解码的情况下操作 JSON?

给定下面的例子,有没有办法在不解码的情况下将值从“bar”更改为“blah”?

参考例如:https ://redis.io/commands/eval

0 投票
1 回答
3596 浏览

c - 如何在 cJSON 中测试布尔值是否为真/假

我正在用 cJSON 解析一个 json 文件。一切进行得都很顺利。但是其中一个数据元素是布尔值,问题是我不明白如何使用 cJSON 的函数来读取布尔类型。数据文件包含如下行:

我尝试使用如下代码块:

当我尝试使用 gcc 编译它时,我收到以下消息:

我认为也许 cJSON 将其表示为 int?我不知道。无论如何,有谁知道我应该如何调用 cJSON_IsTrue() ?或者我根本不应该调用 cJSON_IsTrue() 。如果没有,我应该如何检查这种类型的数据元素?如果它是一个int,我就完成了。如果是 char *,我就完了。我只是不确定我应该如何测试它是真是假。

编辑: 根据 cJSON 库的文档,这里:https ://github.com/DaveGamble/cJSON

因为整个库只有一个 C 文件和一个头文件,您只需将 cJSON.h 和 cJSON.c 复制到您的项目源并开始使用它即可。

这就是我使用 cJSON 的方式。我刚刚将这两个文件包含在我的项目中,一切都像魅力一样工作。直到我尝试使用 cJSON_IsTrue() 函数。我无法从文档或源文件中看到如何正确使用该功能。我想我只是尝试“错误地”使用它,然后通过出现的任何错误消息来纠正自己。

我没想到会收到“未定义的引用”错误消息。我查看了源代码,确实该功能在那里......

David Collins 建议我在编译时需要链接到 cjson 库。我包括了来源,所以我认为这不是真正的答案。不过没关系。所以我按照指示在我的系统上实际安装了库。我得到了相同的未定义参考错误消息。

事实证明,库本身安装的位置:/usr/local/lib,没有被引用。我将已安装的文件复制到了系统的正确目录,当我使用 -lcjson 标志进行编译时,cJSON_IsTrue() 函数现在可用。

那么如何使用呢?这就是我使用它的方式:

这似乎成功了。再次感谢@大卫柯林斯!