我正在编写一个需要解析JSON字符串的内核模块,我想知道Linux内核是否提供任何API来完成它,我现在处理它的方式是将JSMN的端口写入Linux内核,但我认为这不是一个优雅的方法,所以有什么更优雅的方法吗?
xmjla07d1#
Linux内核不支持JSON格式。这是一个开放源代码项目,我正在开发支持Linux内核上的JSON:https://github.com/emalele1688/JsonOnKernel库接口被记录到kjson.h文件中。你可以把库代码链接到你的项目中并开始使用它。这里有一些例子;
kjson.h
struct kjstring_t to_parse; struct kjson_container *ctn; struct kjson_object_t *obj; char *str = "{\"accepted_1\": {\"codes\": []}, \"accepted_2\": [{\"codes\": []}, {\"enabled\": 1}]}"; // A simple JSON kjstring_new_string_buffer(&to_parse, str, strlen(str)); ctn = kjson_parse(&to_parse); // This will start to parse the JSON obj = kjson_lookup_object(ctn, "enabled"); int enabled = kjson_as_integer(obj); // is 1
字符串你可以在仓库里找到更多的例子。目前这个库正在我自己开发中,仓库对每个拉取请求都是开放的。
1条答案
按热度按时间xmjla07d1#
Linux内核不支持JSON格式。
这是一个开放源代码项目,我正在开发支持Linux内核上的JSON:https://github.com/emalele1688/JsonOnKernel
库接口被记录到
kjson.h
文件中。你可以把库代码链接到你的项目中并开始使用它。这里有一些例子;字符串
你可以在仓库里找到更多的例子。目前这个库正在我自己开发中,仓库对每个拉取请求都是开放的。