[PYTHON] Konvertieren (komprimieren) formatierte JSON-Zeichenfolge in einzeiliges JSON

Beachten Sie, dass ich die Methode beim Konvertieren (Komprimieren) einer JSON-Zeichenfolge in einzeiliges JSON überprüft habe.

Methode

Die folgenden zwei Methoden werden vorgestellt.

Angenommen, die folgende in der Datei beschriebene JSON-Zeichenfolge.

file.py


{
    "Records": [
        {
            "database": {
                "NewImage": {
                    "eventId": {
                        "S": "a4207f7a-5f04-471b-a338-1175182eaa6d"
                    },
                    "isCompleted": {
                        "BOOL": True
                    }
                },
                "OldImage": {
                    "eventId": {
                        "S": "a4207f7a-5f04-471b-a338-1175182eaa6d"
                    },
                    "isCompleted": {
                        "BOOL": False
                    }
                }
            }
        }
    ]
}

Methode 1: Verwenden Sie Python

$ python
>>> import json
>>> f = open("file.json")
>>> json.dumps(f.read()).replace("\\n","").replace("\\","").replace("    ", "")
'"{"Records": [{"database": {"NewImage": {"eventId": {"S": "a4207f7a-5f04-471b-a338-1175182eaa6d"},"isCompleted": {"BOOL": True}},"OldImage": {"eventId": {"S": "a4207f7a-5f04-471b-a338-1175182eaa6d"},"isCompleted": {"BOOL": False}}}}]}"'

In .replace (" "," ") wird der Einzug (Leerzeichen`` 4) ersetzt und gelöscht. Wenn in der JSON-Zeichenfolge eine andere Zeichenfolge eingerückt ist, kann die Ersatzquelle für diesen Teil geändert werden.

Methode 2: Verwenden Sie den Befehl jq

Grundsätzlich kann cat <Dateiname> | jq -c verwendet werden.

Jq kann jedoch "True" oder "False" nicht als Booleschen Wert behandeln. Wenn Sie also diesmal versuchen, es wie für file.json auszuführen, tritt der folgende Fehler auf.

$ cat file.json | jq -c
parse error: Invalid numeric literal at line 11, column 0

Daher ist es notwendig, "True" im Voraus in "True" und "False" in "False" zu ändern. Wenn file.json im Voraus geändert wird, kann es wie folgt ausgeführt werden.

$ cat file.json | jq -c
{"Records":[{"database":{"NewImage":{"eventId":{"S":"a4207f7a-5f04-471b-a338-1175182eaa6d"},"isCompleted":{"BOOL":true}},"OldImage":{"eventId":{"S":"a4207f7a-5f04-471b-a338-1175182eaa6d"},"isCompleted":{"BOOL":false}}}}]}

das ist alles

Recommended Posts

Konvertieren (komprimieren) formatierte JSON-Zeichenfolge in einzeiliges JSON
Konvertieren Sie json in Excel
Konvertieren Sie eine hexadezimale Zeichenfolge in eine Binärzeichenfolge
[Python] Datum in Zeichenfolge konvertieren
Konvertieren Sie das Tweepy Status-Objekt in JSON
Konvertieren Sie eine Zeichenfolge in ein Bild
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertieren Sie ein Array (struct) mit golang in json
Zum HSV konvertieren
Konvertieren Sie XLSX in CSV in der Befehlszeile
Konvertieren Sie Daten im JSON-Format in txt (mit yolo)
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
Ich konvertiere AWS JSON-Daten wie folgt in CSV
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Konvertieren / Zurückgeben von Klassenobjekten in das JSON-Format in Python
So konvertieren Sie Json-Dateien in das CSV- oder EXCEL-Format
Konvertieren Sie die XML-Datei im Pascal-VOC-Format in die JSON-Datei im COCO-Format
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Konvertiere Kanji in Kana
Jupyter in py umwandeln
Konvertiere keras-yolo3 in onnx
Wie man JSON liest
Dikt in Array konvertieren
Konvertieren Wählen Sie die von Postgre erhaltene Abfrage mit Gehe zu JSON
Ich möchte eine ISO-8601-Zeichenfolge in japanische Zeit konvertieren
Lesen Sie json mit C # und konvertieren Sie es in den Wörterbuchtyp (erzwungen)