JsonParse ist eine einfache JSON -Parsing -Bibliothek. Extrahieren Sie, was benötigt wird: Wertpaare.
pip install jsonparseHier ist ein kurzes Beispiel dafür, was JsonParse tun kann.
from jsonparse import find_key , find_keys , find_key_chain , find_key_value , find_value
data = [{
"key0" :
{
"key1" : "result" ,
"key2" :
{
"key1" : "result1" ,
"key3" : { "key1" : "result2" }
}
}
}]
find_key ( data , 'key1' )
[ 'result2' , 'result1' , 'result' ]
find_key_chain ( data , [ 'key0' , 'key2' , 'key3' , 'key1' ])
[ 'result2' ]➕ Siehe zusätzliche Dokumentation im API -Abschnitt unten.
pip install jsonparse Zusammenfassung der CLI -Befehle. Für vollständige Informationen, jp --help
Hinweis, jsonparse und jp sind gleichwertig.
jp key key1 --file text.json
jp keys key1 key2 key3 --file text.json
jp key-chain my '*' chain --file text.json
jp key-value key1 '"result"' --file text.json
echo '{"key1": {"key2": 5}}' | jp key key2
jp value null --file text.json
jp value 42 --file text.json
jp value '"strValue"' --file text.json
Die API -Beispiele unter Verwendung der folgenden Testdaten.
data = [
{ "key" : 1 },
{ "key" : 2 },
{ "my" :
{ "key" :
{
"chain" : "A" ,
"rope" : 5 ,
"string" : 1.2 ,
"cable" : False
}
}
},
{ "your" :
{ "key" :
{
"chain" : "B" ,
"rope" : 7 ,
"string" : 0.7 ,
"cable" : True
}
}
}
] from jsonparse import find_key , find_keys , find_key_chain , find_key_value , find_valuefind_key ( Daten : Diktat | Liste | bestellt, Schlüssel : str ) -> Liste
Gibt alle Werte des übereinstimmenden Schlüssels zurück.
find_key ( data , 'chain' )
[ 'A' , 'B' ]
find_key ( data , 'key' )
[ 1 , 2 , { 'chain' : 'A' , 'rope' : 5 , 'string' : 1.2 , 'cable' : False }, { 'chain' : 'B' , 'rope' : 7 , 'string' : 0.7 , 'cable' : True }]find_keys ( Daten : dict | liste | bestellt, Schlüssel : Liste, Gruppe : bool = true ) -> Liste
Der Standard -Rückgabewert ist eine zweidimensionale Liste. [ [], [], ...] .
Setzen Sie group=False , um alle Werte als eine dimensionale Liste zurückzugeben.
Die Bestellung der Schlüssel spielt keine Rolle.
find_keys ( data , [ 'rope' , 'cable' ])
[[ 5 , False ], [ 7 , True ]]
find_keys ( data , [ 'rope' , 'cable' ], group = False )
[ 5 , False , 7 , True ]find_key_chain ( Daten : Diktat | Liste | bestellt, Schlüssel : Liste ) -> Liste
Die Schlüsselkette ist eine geordnete Liste von Schlüssel. Die Kette muss auf der Wurzelebene der verschachtelten Daten beginnen.
Wildcard * kann als Schlüssel (en) verwendet werden.
find_key_chain ( data , [ 'my' , 'key' , 'chain' ])
[ 'A' ]
find_key_chain ( data , [ 'key' ])
[ 1 , 2 ]
find_key_chain ( data , [ '*' , 'key' , 'chain' ])
[ 'A' , 'B' ]
find_key_chain ( data , [ '*' , 'key' , '*' ])
[ 'A' , 5 , 1.2 , False , 'B' , 7 , 0.7 , True ]find_key_value ( Daten : dict | liste | ordnungsdict, key : str, Wert : str | int | float | bool | keine) -> liste
Die zurückgegebene Liste enthält die Wörterbücher, die den angegebenen Schlüssel enthalten: Wertpaar.
find_key_value ( data , 'cable' , False )
[{ 'chain' : 'A' , 'rope' : 5 , 'string' : 1.2 , 'cable' : False }]
find_key_value ( data , 'chain' , 'B' )
[{ 'chain' : 'B' , 'rope' : 7 , 'string' : 0.7 , 'cable' : True }]find_value ( Daten : dict | liste | bestellt, Wert : str | int | float | bool | keine ) -> Liste
Gibt alle Schlüssel des übereinstimmenden Wertes zurück.
find_value ( data , 'A' )
[ 'chain' ]
find_value ( data , False )
[ 'cable' ]Besuchen Sie die Swagger -API -Dokumentation
Alle Endpunkte sind HTTP -Postanforderungen, in denen Sie die durchsuchbaren JSON -Daten in die Anforderungsbehörde aufnehmen.
POST /v1/key/{key}
POST /v1/keys ? key=1 & key=2 & key=3 & key=4...
POST /v1/keychain ? key=1 & key=2 & key=3 & key=4...
POST /v1/keyvalue ? key=a & value=1
POST /v1/value/{value}Praxen wir mit der öffentlichen, frei zu verwendenden No-Authentifizierung, Web-API, die im GCP-Cloud-Lauf gehostet wird.
Wir veröffentlichen die JSON -Daten mit Curl und bitten um die Suche nach dem Schlüssel 'Key1'. Die gefundenen Schlüsselwerte werden als JSON zurückgegeben.
curl -X POST " https://jsonparse.dev/v1/key/key1 "
-H ' Content-Type: application/json '
-d ' [{"key0":{"key1":"result","key2":{"key1":"result1","key3":{"key1":"result2"}}}}] '
[ " result2 " , " result1 " , " result " ]Oder (mit Python und Anfrage Bibliothek)
import requests
data = [{
"key0" :
{
"key1" : "result" ,
"key2" :
{
"key1" : "result1" ,
"key3" : { "key1" : "result2" }
}
}
}]
requests . post ( 'https://jsonparse.dev/v1/key/key1' , json = data ). json ()
[ 'result2' , 'result1' , 'result' ]pip install " jsonparse[webapi] "
gunicorn -b 0.0.0.0:8000 jsonparse.webapi:appAlternativ führen Sie den Docker -Container aus
docker run -d ctomkow/jsonparse