从 json-c json_object 中提取键(不是值)

extract key (not value) from json-c json_object

我目前正在使用 libnftables 和 json-c(C 库) 我的目标是使用 json-c library

解析 json 格式的 nftables 规则

事情就在那里,nftables 个元素(例如 table)看起来像这样:

{ "table":{
            "family":"ip",
            "name":"filter",
            "handle":6

           }

}

nftables table 基本上是一个 json_object 结构,键 "table" 和另一个 json_object 结构作为存储所有其他信息的值。链条和规则相似但密钥不同

{"chain":{
        "family":"ip",
        "table":"filter",
        "name":"INPUT",
        "handle":1,
        "type":"filter",
        "hook":"input",
        "prio":0,
        "policy":"accept"

        }

},

我需要一种方法从 json_object 中检索密钥(如 "table"、"rule"、"chain"),因为整个 nftables规则是许多东西的混合体,因此很难猜测我们在浏览 nftables 规则数组时正在处理的 nftables 元素的种类。

谢谢!

  • 在 json 模式下使用 libnftables 检索 json 对象中的规则集

  • 获得一个好的 json parsin 库(我推荐 libjansson)来解析 json 对象以检索信息

注意:您可能必须编译 nftables 才能使用 json 输出格式。