JSONPARSE 는 간단한 JSON 구문 분석 라이브러리입니다. 키에서 필요한 것을 추출하십시오 : 값 쌍.
pip install jsonparse다음은 JsonParse가 할 수있는 일의 빠른 예입니다.
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' ]➕ 아래 API 섹션의 추가 문서를 참조하십시오.
pip install jsonparse CLI 명령 요약. 전체 정보는 jp --help
jsonparse 및 jp 동일합니다.
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
다음 테스트 데이터를 사용하는 API 예제.
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 ( 데이터 : dict | list | ordereddict, key : str ) -> 목록
일치하는 키의 모든 값을 반환합니다.
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 ( data : dict | list | list | orderedDict, 키 : 목록, 그룹 : bool = true ) -> 목록
기본 반환 값은 2 차원 목록입니다. [ [], [], ...] .
모든 값을 1 차원 목록으로 반환하려면 group=False 설정하십시오.
키의 순서는 중요하지 않습니다.
find_keys ( data , [ 'rope' , 'cable' ])
[[ 5 , False ], [ 7 , True ]]
find_keys ( data , [ 'rope' , 'cable' ], group = False )
[ 5 , False , 7 , True ]find_key_chain ( 데이터 : dict | list | orderedDict, 키 : 목록 ) -> 목록
키 체인은 주문 된 키 목록입니다. 체인은 중첩 데이터의 루트 레벨에서 시작해야합니다.
와일드 카드 * 일치하는 키로 사용할 수 있습니다.
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 ( 데이터 : dict | list | list | orderedDict, key : str, value : str | int | float | bool | none) -> list
반환 된 목록에는 지정된 키 : 값 쌍이 포함 된 사전이 포함되어 있습니다.
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 ( data : dict | list | list | orderedDict, value : str | int | float | bool | none ) -> 목록
일치하는 값의 모든 키를 반환합니다.
find_value ( data , 'A' )
[ 'chain' ]
find_value ( data , False )
[ 'cable' ]Swagger API 문서를 방문하십시오
모든 엔드 포인트는 요청 본문에 검색 가능한 JSON 데이터를 포함하는 HTTP Post 요청입니다.
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}GCP Cloud Run에서 호스팅 된 대중의 무료 사용을 사용하지 않는 웹 API를 사용하여 연습합시다.
우리는 CURL과 함께 JSON 데이터를 게시하고 'KEY1'키를 검색하도록 요청합니다. 발견 된 주요 값은 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 " ]또는 (Python 및 요청 라이브러리 사용)
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:app또는 Docker 컨테이너를 실행하십시오
docker run -d ctomkow/jsonparse