Ich versuche jq
zu bekommen eine JSON-Struktur wie zu analysieren:Verwenden jq ein JSON-String zu analysieren
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
Das heißt, ein Element in der JSON ist ein String mit entkam json.
Also, ich habe etwas entlang der Linien von $ jq [.c] myFile.json | jq [.id]
Aber das stürzt mit jq: error: Cannot index string with string
Dies liegt daran, die Ausgabe von .c ein String ist, nicht mehr JSON. Wie bekomme ich jq diese Zeichenfolge zu analysieren?
Meine erste Lösung ist sed zu verwenden, um all Escape-Zeichen zu ersetzen (\":\"
, \",\"
und \"
), aber das ist chaotisch, gehe ich davon aus es eine Möglichkeit, in jq
gebaut ist, dies zu tun?
Danke!
edit: Auch die jq Version verfügbar ist hier:
$ jq --version
jq version 1.3
Ich glaube, ich es nicht aktualisieren, falls erforderlich.
Diese Frage hilft auch, wenn Sie suchen: "Wie JSON-Zeichenkette mit JQ Unescap?" – k0pernikus