ich die folgenden Eingabedatei haben:jq json Parser anhängt JSON Feld auf Bedingungen basieren
[
{
"macAddress": "22:00:10:21:ca:54",
"GeoCoordinate": {
"latitude": 1.2345,
"longitude": 123.4567,
"unit": "DEGREES"
}
},
{
"macAddress": "44:00:10:21:ca:14"
},
{
"macAddress": "33:00:11:21:ca:54",
"GeoCoordinate": {
"latitude": 2.1345544523,
"longitude": 123.45678,
"unit": "DEGREES"
}
},
...
]
Ich möchte jq
Programm verwenden, um die JSON zu analysieren, um die unter Ausgabe
[
"created_at": "2016-04-13T14:50:03+0800",
{
"macAddress": "22:00:10:21:ca:54",
"GeoCoordinate": {
"latitude": 1.2345,
"longitude": 123.4567,
"unit": "DEGREES"
},
"loc": {
"lon": 123.4567,
"lat": 1.2345
}
},
{
"macAddress": "44:00:10:21:ca:14"
},
{
"macAddress": "33:00:11:21:ca:54",
"GeoCoordinate": {
"latitude": 2.1345544523,
"longitude": 123.45678,
"unit": "DEGREES"
},
"loc": {
"lon": 123.45678,
"lat": 2.1345544523
}
},
...
]
Sie bekommen kann sehen, dass ich created_at
Feld eingefügt habe.
Ich habe auch lat/long Paar basierend auf der Bedingung der GeoCoordinate
Feld vorhanden oder nicht hinzugefügt.
Wie verwendet man jq
, um das zu erreichen?
Ihre gewünschte Ausgabe nicht gültig json ist. Sie können keine Eigenschaft in ein Array einfügen. 'ISODate (" 2016-04-13T14: 50: 03 + 0800 ")' ist kein gültiger JSON-Wert. –
@JeffMercado, ich habe die Ausgabe in gültige JSON nach dem Lesen Ihres Kommentars geändert. – Xianlin
Ihre Ausgabe ist immer noch nicht gültig json. '[" foo: "bar", {"a": "b", ...}] 'ist ungültig. – hek2mgl