将 JSON 对象传递给 jq 参数

用户3086917

数据样本 - sample.json(完整样本:https : //pastebin.com/KFkVmc2M

    {
      "ip": 3301234701,
      "_shodan": {
        "options": {
          "referrer": "7ae15507-f5cc-4353-b72e-5cc0b1c34c5e"
        },
      },
      "hash": -1056085507,
      "os": null,
      "title": "WHM Login",
      "opts": {
        "vulns": ["!CVE-2014-0160"],
        "heartbleed": "2017/08/29 09:57:30 196.196.216.13:2087 - SAFE\
        }
      },
      "isp": "Fiber Grid Inc",
      "http": {
        "redirects": [],
        "title": "WHM Login",
        "robots": null,
        "favicon": null,
        "host": "196.196.216.13",
        "html":
}

使用 jq 的脚本,我希望它可以工作,但还没有找到另一个解决方案。

   cat sample.json | jq \
   --arg key0   'Host' \
   --arg value0 '.host' \
   --arg key1   'Vulnerability' \
   --arg value1 '.opts.vulns[0]' \
   --arg key2   'ISP' \
   --arg value2 '.isp' \
   '. | .[$key0]= $value0 | .[$key1]=$value1 | .[$key2]=$value2' \
   <<<'{}'

我希望的最终结果,但没有得到:

{
  "Host": "196.196.216.13",
  "Vulnerability": "!CVE-2014-0160",
  "ISP": "Fiber Grid Inc"
}

现在它只是将对象作为字符串返回,我已经尝试了很多不同的方法来解决这个问题。我对使用 JSON 和 jq 还很陌生,但根据我到目前为止所读到的内容,解决方案可能不像我希望的那么简单?

简单地说,为什么对象不作为 sample.json 对象的值返回,我必须做什么才能使其工作?

谢谢!

至:切普纳

{
  "196.196.216.13":[
  "AS63119",
  "Fiber Grid Inc",
  "2017-08-29T06:57:22.546423",
  "!CVE-2014-0160"
],
"196.196.216.14":[
  "AS63119",
  "Fiber Grid Inc",
  "2017-08-29T06:57:22.546423",
  "!CVE-2014-0160"
]
}
顶峰

这是使用@CharlesDuffy 建议的方法的变体解决方案:

$ config='{"Host": ["http", "host"], 
           "Vulnerability": ["opts", "vulns", 0], 
           "ISP": ["isp"]}'
$ jq --argjson config "$config" '
   . as $in
   | $config
   | map_values( . as $p | $in | getpath($p) )' pastebin.json

输出:

{
  "Host": "196.196.216.13",
  "Vulnerability": "!CVE-2014-0160",
  "ISP": "Fiber Grid Inc"
}

这顺便强调了@chepner 的观点:$config 所需的维护和维护不亚于相应 jq 查询所需的维护和维护,而 jq 查询语言(按设计)提供了更大的灵活性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数作为JSON对象传递给WebMethod

来自分类Dev

将JSON对象传递给CLI上的保护程序参数

来自分类Dev

将JSON对象传递给CLI上的保护程序参数

来自分类Dev

将JSON对象传递给MVC

来自分类Dev

将JSON对象传递给WebApi

来自分类Dev

将复杂对象传递给ui-sref参数

来自分类Dev

将Groovy对象传递给活动选择参数

来自分类Dev

将JSON对象传递给onclick函数

来自分类Dev

是否可以将JSON对象传递给ejs renderFile?

来自分类Dev

Golang将JSON对象传递给函数

来自分类Dev

如何将DropZone JSON对象传递给AngularJS?

来自分类Dev

如何将json对象传递给$ eval函数

来自分类Dev

将Json复杂对象传递给HttpPost调用

来自分类Dev

将JSON对象传递给React Hook

来自分类Dev

将JSON对象传递给onclick函数

来自分类Dev

AngularJS将JSON对象传递给指令

来自分类Dev

将JSON对象传递给HttpServlet的问题

来自分类Dev

将JSON参数(不是简单的字符串)传递给jq

来自分类Dev

将多个对象传递给jq以进行递归过滤器操作

来自分类Dev

将ninject绑定对象传递给必须具有0参数的构造函数的类

来自分类Dev

在Bjarne的示例中,为什么可以将const限定对象传递给非const参数?

来自分类Dev

为什么将NSString对象传递给XCTAssertTrue的“ format”参数会导致生成错误?

来自分类Dev

如何通过翻新将Map <String,String>参数或对象传递给POST请求?

来自分类Dev

将_bstr_t对象传递给以BSTR作为参数的函数是否安全?

来自分类Dev

将ninject绑定对象传递给必须具有0参数的构造函数的类

来自分类Dev

如何通过 json 和 twig 将 DateTime 对象传递给 javascript 日期对象

来自分类Dev

如何将大量json对象传递给Json数组

来自分类Dev

如何将复杂的JSON对象传递给ASP.net控制器

来自分类Dev

无法将json对象传递给python服务器程序

Related 相关文章

  1. 1

    将参数作为JSON对象传递给WebMethod

  2. 2

    将JSON对象传递给CLI上的保护程序参数

  3. 3

    将JSON对象传递给CLI上的保护程序参数

  4. 4

    将JSON对象传递给MVC

  5. 5

    将JSON对象传递给WebApi

  6. 6

    将复杂对象传递给ui-sref参数

  7. 7

    将Groovy对象传递给活动选择参数

  8. 8

    将JSON对象传递给onclick函数

  9. 9

    是否可以将JSON对象传递给ejs renderFile?

  10. 10

    Golang将JSON对象传递给函数

  11. 11

    如何将DropZone JSON对象传递给AngularJS?

  12. 12

    如何将json对象传递给$ eval函数

  13. 13

    将Json复杂对象传递给HttpPost调用

  14. 14

    将JSON对象传递给React Hook

  15. 15

    将JSON对象传递给onclick函数

  16. 16

    AngularJS将JSON对象传递给指令

  17. 17

    将JSON对象传递给HttpServlet的问题

  18. 18

    将JSON参数(不是简单的字符串)传递给jq

  19. 19

    将多个对象传递给jq以进行递归过滤器操作

  20. 20

    将ninject绑定对象传递给必须具有0参数的构造函数的类

  21. 21

    在Bjarne的示例中,为什么可以将const限定对象传递给非const参数?

  22. 22

    为什么将NSString对象传递给XCTAssertTrue的“ format”参数会导致生成错误?

  23. 23

    如何通过翻新将Map <String,String>参数或对象传递给POST请求?

  24. 24

    将_bstr_t对象传递给以BSTR作为参数的函数是否安全?

  25. 25

    将ninject绑定对象传递给必须具有0参数的构造函数的类

  26. 26

    如何通过 json 和 twig 将 DateTime 对象传递给 javascript 日期对象

  27. 27

    如何将大量json对象传递给Json数组

  28. 28

    如何将复杂的JSON对象传递给ASP.net控制器

  29. 29

    无法将json对象传递给python服务器程序

热门标签

归档