다음 json에서 파이썬에서 "TEXT"값을 추출하고 싶습니다. 알 수없는 경우를 제외하고 모든 키는 일정합니다. Unknown은 "a6784t66"또는 "hobvp * nfe"와 같은 문자열 일 수 있습니다. 알 수없는 값은 알 수 없으며 각 json 응답에서 해당 위치에있을뿐입니다.
{
"A": {
"B": {
"unknown": {
"1": "F",
"maindata": [
{
"Info": "TEXT"
}
]
}
}
}
}
한 줄 json
'{"A":{"B":{"unknown":{"1":"F","maindata":[{"Info":"TEXT"}]}}}}'
"텍스트"의 가치를 어떻게 얻을 수 있습니까? (json.loads로 json을로드하는 방법을 알고 있습니다.) ..하지만 "Text"값을 얻는 방법을 모르겠습니다. 감사.
(최고의 제목이 무엇인지 잘 모르겠습니다.)
해결 방법
약간 길지만 위의 예에서 :
In [1]: import json
In [2]: s = """ ...: {
...: "A": {
...: "B": {
...: "unknown": {
...: "1": "F",
...: "maindata": [
...: {
...: "Info": "TEXT"
...: }
...: ]
...: }
...: }
...: }
...: }"""
In [3]: data = json.loads(s)
In [4]: data['A']['B']['unknown']['maindata'][0]['Info']
Out[4]: u'TEXT'
기본적으로 각 중첩 사전의 값을 가져 오기 위해 키를 전달하는 사전으로 취급합니다. 유일한 다른 부분은 결과 값이 목록 인 maindata code>를 누를 때입니다. 이를 처리하기 위해 첫 번째 요소
[0]
를 가져온 다음 Info
키에 액세스하여 TEXT
값을 얻습니다.
unknown
이 변경되는 경우 코드에서 해당 시점에 사용할 '알려진'이름을 나타내는 변수로 바꿉니다.
my_variable = 'some_name'
data['A']['B'][my_variable]['maindata'][0]['Info']
실제로 처음에 귀하의 질문을 제대로 읽었을 경우 unknown
이 무엇인지 모르는 경우 다음과 같이 할 수 있습니다.
data['A']['B'].values()[0]['maindata'][0]['Info']
여기서 values ()
는 다음을 포함하는 변수입니다.
[{u'1': u'F', u'maindata': [{u'Info': u'TEXT'}]}]
[0]
로 액세스 할 수있는 단일 항목 목록이며 위와 같이 진행할 수 있습니다. 이것은 해당 사전에 하나의 항목 만 존재하는지 여부에 따라 달라집니다. 더 많은 항목이 있으면 약간 조정해야합니다.
참조 페이지 https://stackoverflow.com/questions/14227561
'파이썬' 카테고리의 다른 글
파이썬 Python : if 문에서 RegEx를 사용하는 방법은 무엇입니까? (0) | 2021.01.29 |
---|---|
파이썬 데이터 프레임 목록을 다중 시트 Excel 스프레드 시트에 저장 (0) | 2021.01.29 |
파이썬 Python-OR 함수를 올바르게 사용 (0) | 2021.01.28 |
파이썬 목록에서 NoneType 요소를 제거하는 네이티브 Python 함수? (0) | 2021.01.28 |
파이썬에서 한 줄의 코드에 n 개의 문자열을 어떻게 생성합니까? (0) | 2021.01.28 |
댓글