python -m json.tool


phwert

Erfahrenes Mitglied
Hallo,

ich habe versucht, mit "python -m json.tool" einen Firefox-Bookmark-File im JSON-Format zu formatieren, damit ich darin schneller etwas finde, wenn ich den Suchbegriff nicht kenne.
Code:
alias pp='python -m json.tool'
pp /home/xxx/yyy/zzz/bookmarks-2016-12-19.json
Der File sieht aber nachher genauso aus wie vorher, habe ich den Eindruck. Ich hatte erwartet, es würde irgendetwas formiert werden, d. h. Zeilenumbrüche und Einrückungen.
Es ist ungefähr wie in diesem Beispiel: http://unix.stackexchange.com/questions/210514/is-there-a-cli-tool-that-would-prettify-a-json-string
Vorher:
Code:
{"something": [{"path": "something", "host": "something.internal", "scheme": "solr", "port": 8080, "ip": "123.4.567.89"}], "second_database": [{"username": "user", "password": "", "ip": "123.4.567.89", "host": "second_database.internal", "query": {"is_master": true}, "path": "main", "scheme": "mysql", "port": 3306}], "redis": [{"ip": "123.4.567.89", "host": "redis", "scheme": "redis", "port": 6379}], "database": [{"username": "user", "password": "", "ip": "123.4.567.89", "host": "database.internal", "query": {"is_master": true}, "path": "main", "scheme": "mysql", "port": 3306}]}
Nachher:
Code:
{
   "something" : [
     {
        "host" : "something.internal",
        "scheme" : "solr",
        "ip" : "123.4.567.89",
        "path" : "something",
        "port" : 8080
     }
   ],
   "second_database" : [
     {
        "path" : "main",
        "ip" : "123.4.567.89",
        "query" : {
           "is_master" : true
        },
        "host" : "second_database.internal",
        "port" : 3306,
        "password" : "",
        "scheme" : "mysql",
        "username" : "user"
     }
   ],
   "redis" : [
     {
        "scheme" : "redis",
        "ip" : "123.4.567.89",
        "port" : 6379,
        "host" : "redis"
     }
   ],
   "database" : [
     {
        "username" : "user",
        "password" : "",
        "scheme" : "mysql",
        "port" : 3306,
        "host" : "database.internal",
        "ip" : "123.4.567.89",
        "query" : {
           "is_master" : true
        },
        "path" : "main"
     }
   ]
}
Nur bei mir gibt es kein Nachher.
Weiß einer, was ich tun muss? Wie gesagt, der Standard-Firefox-Bookmark-File im JSON-Format.
Kann man sich auch im Browser anzeigen lassen: file:///home/xxx/yyy/zzz/bookmarks-2016-12-19.json

Grüße
 

phwert

Erfahrenes Mitglied
Hi,

ja wird bei mir auch formatiert angezeigt, aber wie speicher ich ihn auch so ab?

Grüße

PS: Alles klar:

Code:
cat  bookmarks-2016-12-19--unformatiert.json | json_pp > bookmarks-2016-12-19--formatiert.json
 
Zuletzt bearbeitet:

zerix

Hausmeister
Moderator
Hi,

@Bratkartoffel
-m nimmt ein Python Modul als Argument und führt es aus als wäre es ein normales Python Script.

@phwert
Auch wenn es nicht mehr benötigt wird, mit pip hättest du die benötigte Library installieren können.
Code:
pip install jsontool
Danach hätte dein Befehl funktioniert.


Viele Grüße
Sascha