我有一个这个结构的JSON文件。对于每个URL字段,我们都有一个RESULT字段,其中包含数百个LINKS。是否可能以某种方式解析它并获得包含每个URL的所有LINKS的(即.csv)列表?
[{
"url": "https://example.org/yyy",
"result": "{\"links\":[{\"link\":\"https://example.org/xxx/xxx\",\"text\":\"\"
},
{
\"link\":\"https://example.org/xxx/xxx\",\"text\":\"\"
},
{
\"link\":\"https://example.org/xxx/xxx\",\"text\":\"yyy\"}[.......]
提前致谢
答案 0 :(得分:0)
以下是使用jq的解决方案。如果data.json
包含示例数据
[{"url": "https://example.org/yyy", "result": "{\"links\":[{\"link\":\"https://example.org/xx1/xx1\",\"text\":\"\"},{\"link\":\"https://example.org/xx2/xx2\",\"text\":\"\"}]}"}]
然后命令
$ jq -Mr '.[].result | fromjson | .links[].link' data.json
产生
https://example.org/xx1/xx1
https://example.org/xx2/xx2
如果你想要网址和链接,那么命令
$ jq -Mr '.[] | .url as $url | .result | fromjson | "\($url),\(.links[].link)"' data.json
产生
https://example.org/yyy,https://example.org/xx1/xx1
https://example.org/yyy,https://example.org/xx2/xx2