python에서 json 배열을 필터링하는 방법
이것이 현재 가지고 있는 json 어레이입니다.유형이 =1인 모든 json 개체를 가져옵니다.
필터 전:
[
{
"type": 1
"name" : "name 1",
},
{
"type": 2
"name" : "name 2",
},
{
"type": 1
"name" : "name 3"
},
]
필터 후:
[
{
"type": 1
"name" : "name 1",
},
{
"type": 1
"name" : "name 3"
},
]
제발 도와주세요.
다음 코드 조각은 당신이 원하는 대로 동작하지만, 당신의 입력(질문에 기재된 바와 같이)이 유효한 json 문자열이 아님을 주의해 주십시오.http://jsonlint.com 에서 확인하실 수 있습니다.
import json
input_json = """
[
{
"type": "1",
"name": "name 1"
},
{
"type": "2",
"name": "name 2"
},
{
"type": "1",
"name": "name 3"
}
]"""
# Transform json input to python objects
input_dict = json.loads(input_json)
# Filter python objects with list comprehensions
output_dict = [x for x in input_dict if x['type'] == '1']
# Transform python object back into json
output_json = json.dumps(output_dict)
# Show json
print output_json
간단하게
print [obj for obj in dict if(obj['type'] == 1)]
링크의 예
filter() 메서드는 시퀀스 내의 각 요소가 참인지 아닌지를 테스트하는 함수를 사용하여 지정된 시퀀스를 필터링합니다.필터에 관한 문서
>>> obj=[
... {
... "type": 1,
... "name": "name 1"
... },
... {
... "type": 2,
... "name": "name 2"
... },
... {
... "type": 1,
... "name": "name 3"
... }
... ]
>>> filter(lambda x: x['type'] == 1, obj)
<filter object at 0x7fd98805ca00>
>>> list(filter(lambda x: x['type'] == 1, obj))
[{'type': 1, 'name': 'name 1'}, {'type': 1, 'name': 'name 3'}]
>>> list(filter(lambda x: x['type'] == 2, obj))
[{'type': 2, 'name': 'name 2'}]
언급URL : https://stackoverflow.com/questions/27189892/how-to-filter-json-array-in-python
'programing' 카테고리의 다른 글
React.js에서의 사운드 재생 (0) | 2023.03.25 |
---|---|
리스트 정렬을 애니메이션화하는 리액션.js 친화적인 방법은 무엇입니까? (0) | 2023.03.25 |
AngularJS: $리소스(솔루션)를 사용하여 파일 업로드 (0) | 2023.03.25 |
업로드한 파일의 데이터를 javascript로 가져옵니다. (0) | 2023.03.25 |
컬렉션을 포함한 Backbone.js 모델 (0) | 2023.03.20 |