2016-04-03 12 views
2

私の目標は、www.worldtides.infoの結果を解析することです。私はラズベリーパイ2を持っていて、Linuxでスクリプトを書いています。このような結果を得るworldtides.infoからJSONの潮汐情報を解析する方法は?

curl -s "http://www.worldtides.info/api?extremes&lat=my_latitude&lon=my_longitude&key=my_api_key" 

私はAPIキーとカールの要求を持っているようなものであるJQを使用して

{ 
    "status": 200, 
    "requestLat": "my_latitude", 
    "requestLon": "my_longitude", 
    "extremes": [ 
    { 
     "dt": 1459680132, 
     "date": "2016-04-03T10:42+0000", 
     "height": 0.7343567325036922, 
     "type": "High" 
    }, 
    { 
     "dt": 1459702028, 
     "date": "2016-04-03T16:47+0000", 
     "height": -0.8438121322770741, 
     "type": "Low" 
    }, 
    { 
     "dt": 1459724478, 
     "date": "2016-04-03T23:01+0000", 
     "height": 1.0419712550773803, 
     "type": "High" 
    }, 
    { 
     "dt": 1459747135, 
     "date": "2016-04-04T05:18+0000", 
     "height": -1.1049607153344834, 
     "type": "Low" 
    }, 
    { 
     "dt": 1459769354, 
     "date": "2016-04-04T11:29+0000", 
     "height": 1.1012796430343657, 
     "type": "High" 
    }, 
    { 
     "dt": 1459791366, 
     "date": "2016-04-04T17:36+0000", 
     "height": -1.204313872235808, 
     "type": "Low" 
    }, 
    { 
     "dt": 1459813613, 
     "date": "2016-04-04T23:46+0000", 
     "height": 1.3452661348073778, 
     "type": "High" 
    }, 
    { 
     "dt": 1459835931, 
     "date": "2016-04-05T05:58+0000", 
     "height": -1.4062688322894952, 
     "type": "Low" 
    } 
    ] 
} 

、私は高いの時間を取得したいと低電流の日と明日のために潮が、ときに私はこれを試してみてください。

.result[].type 

しかし、それは私にエラーを与える:

jq: error (at <stdin>:0): Cannot iterate over null (null)` 

私はそれがこれを使用している潮の種類を取得することができます知っている:

.extremes[].type 

結果は次のとおりです。

これを使用して
High 
Low 
etc... 

と潮の時間:

.extremes[].date 

結果は次のとおりです。だから、

2016-04-03T10:42+0000 
2016-04-03T16:47+0000 
etc... 

、私はこのような出力を得るために一緒に結果を組み合わせる方法を教えてください。

2016-04-03T10:42+0000 High 
2016-04-03T16:47+0000 Low 
etc... 
+0

質問にそのサンプル入力の出力を追加してください。 – Cyrus

+0

'result'キーがないので、あなたが何をしようとしているのか分かりません。 –

+0

投稿の編集後半に別の質問をしてください。 –

答えて

0

curl -s "http://www.worldtides.info/api?extremes&lat=my_latitude&lon=my_longitude&key=my‌​_api_key"| jq -r ".extremes[] | .date + .type" 

の線に沿って何かがあなたに日付/時刻、各エントリのための高/低潮出力の両方を与える必要があります。


基本的に

、あなたはextremesませresultを使用する必要があります。 resultというキーがあるので、jqnullというメッセージを表示しています。

関連する問題