C中的JSON序列化
Posted
技术标签:
【中文标题】C中的JSON序列化【英文标题】:JSON Serialization in C 【发布时间】:2011-09-28 21:25:03 【问题描述】:在 C 中生成 UTF-8 JSON 的最佳方法是什么?我看过Jansson,但它看起来非常笨重。有没有其他好的低依赖库用于在 C 中创建和读取 JSON 对象/字符串?
【问题讨论】:
杨松怎么了?对我来说似乎是完全可用的 C 库 它有很多依赖项,我的老板宁愿不必担心它们。 我可以使用它,我只是先寻找替代品。 查看json.org的C列表。 @Peter Downs:你的老板该退休了。 Jansson 的依赖项为零。我现在在一个项目中使用它,你在源代码中运行 automake,#include <jansson.h>
,阅读伟大的 documentation,然后你就设置好了。
【参考方案1】:
也许是来自 CCAN 的 JSON 模块? http://ccodearchive.net/ 它甚至不依赖于来自 CCAN 的任何其他内容,并且仅包含两个文件 json.c
和 json.h
(JSON模块在这里http://git.ozlabs.org/?p=ccan;a=tree;f=ccan/json)
【讨论】:
这正是我一直在寻找的。一百万谢谢! 只是跟进以防其他人看到这一点。 JSON CCAN 模块很棒:功能齐全但足够简单,我可以添加一些扩展。非常干净,源代码有很好的文档和格式。 此代码使用 snprintf。这个WIN32和linux版本不一样。 它也使用GOTOS?! “非常干净”表示干净的足够异端的值。 @MarkStorer 它使用它们进行故障处理,这是一种常见的模式,并且没有一个目的地离跳转只有一点滚动距离。 goto 并不像大家说的那么邪恶,请参阅***.com/questions/46586/goto-still-considered-harmful 如果 goto 产生的控制流比好的替代方案更简单,那么它更容易推理。危害在于 goto 使代码更难理解。以上是关于C中的JSON序列化的主要内容,如果未能解决你的问题,请参考以下文章
C# 如何反序列化简单结构中的 json DATAS 数组?