2017-06-09 7 views
0

私はこの構造を持つJSONファイルを持っています。すべてのURLフィールドに対して、何百ものリンクを含むRESULTフィールドがあります。何とかそれを解析して、すべてのURLのすべてのリンクを含む(つまり、csv)リストを取得することは可能でしょうか?このJSONを解析して人間が読めるリストを取得する

[{ 
    "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\"}[.......] 

ここでは、事前

+1

確かに。あなたは 'JSON.parse'でJSONを解析し、配列を繰り返し処理し、好きな方法で情報を処理することができます。これらのステップのいずれかについて具体的な質問がありますか? [アクセス/プロセス(ネストされたオブジェクト、配列またはJSON)](https://stackoverflow.com/q/11922383/218196)は役に立ちますか? –

+0

@FelixKling、彼は "javascript"について言及しなかったので、 'JSON.parse'は別のケースのためかもしれません – RomanPerekhrest

+0

あなたのOSは何ですか? – RomanPerekhrest

答えて

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\":\"\"}]}"}] 

が含まれている場合は、URLやリンク、コマンド

$ jq -Mr '.[] | .url as $url | .result | fromjson | "\($url),\(.links[].link)"' data.json 
の両方をご希望の場合は、コマンド

$ jq -Mr '.[].result | fromjson | .links[].link' data.json 

https://example.org/xx1/xx1 
https://example.org/xx2/xx2 

を生成します

が生成する

https://example.org/yyy,https://example.org/xx1/xx1 
https://example.org/yyy,https://example.org/xx2/xx2 
関連する問題