JSONPARSE es una simple biblioteca de análisis de JSON. Extraiga lo que se necesita de la clave: pares de valor.
pip install jsonparseAquí hay un ejemplo rápido de lo que JsonParse puede hacer.
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' ]➕ Consulte la documentación adicional en la sección API a continuación.
pip install jsonparse Resumen de los comandos de CLI. Para información completa, jp --help
Nota, jsonparse y jp son equivalentes.
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
Los ejemplos de API utilizando los siguientes datos de prueba.
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 ( datos : dict | list | ordeneddict, clave : str ) -> list
Devolverá todos los valores de la clave coincidente.
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 ( datos : dict | list | ordeneddict, claves : lista, grupo : bool = true ) -> list
El valor de retorno predeterminado es una lista bidimensional. [ [], [], ...] .
Para devolver todos los valores como una lista unidimensional, establecer group=False .
El orden de las llaves no importa.
find_keys ( data , [ 'rope' , 'cable' ])
[[ 5 , False ], [ 7 , True ]]
find_keys ( data , [ 'rope' , 'cable' ], group = False )
[ 5 , False , 7 , True ]find_key_chain ( datos : dict | list | ordeneddict, claves : lista ) -> list
La cadena clave es una lista ordenada de claves. La cadena debe comenzar a nivel de raíz de los datos anidados.
Comodín * se puede usar como llave (s) para que coincida con cualquiera.
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 ( datos : dict | list | ordeneddict, clave : str, valor : str | int | float | bool | none) -> list
La lista devuelta contiene los diccionarios que contienen la clave especificada: par de valor.
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 ( datos : dict | list | ordeneddict, valor : str | int | float | bool | none ) -> list
Devolverá todas las claves del valor coincidente.
find_value ( data , 'A' )
[ 'chain' ]
find_value ( data , False )
[ 'cable' ]Visite la documentación de la API de Swagger
Todos los puntos finales son solicitudes de publicación HTTP donde incluye los datos JSON de búsqueda en el cuerpo de solicitudes.
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}Practiquemos el uso de la API web pública, sin uso, no autorización, alojada en la ejecución de la nube GCP.
Estamos publicando los datos JSON con Curl, solicitando buscar la clave, 'Key1'. Los valores clave encontrados se devuelven como JSON.
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 " ]O (usando la biblioteca de python y solicitudes)
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:appAlternativamente, ejecute el contenedor Docker
docker run -d ctomkow/jsonparse