JSON으로 변환해야하는 복잡한 구조가 있습니다. 일반적으로,이 괜찮지 만, 가끔,이 같은 잘못된 데이터를 얻을 수 있습니다 :구조체의 모든 문자열에 함수 적용
{'FIRST_NAME': 'sdffg\xed', 'LAST_NAME': 'sdfsadf', 'MORE_INFO':['hi','blah', {'key1': 'value1'}]}
간단한 json.dumps(data)
나에게 제공합니다 json.dumps(data, ensure_ascii=False)
를 수행
UnicodeDecodeError: 'ascii' codec can't decode byte 0xed in position 6: ordinal not in range(128)
으로.
utf-8에서 읽을 수없는 데이터가있는 경우 무시하고 싶습니다. 내가 원하는 것을 얻으려는 유일한 방법은 다음과 같습니다.
item.decode("utf8", "ignore") if item else None
구조의 모든 단일 항목. 그렇다면 다음 중 하나입니까?
json.dumps()
(선호) 내에서 어떻게해야합니까?- 이 문자열 함수를 모든 문자열에만 적용하고 복잡한 구조의 문자열 만 균일하게 적용하는 방법은 무엇입니까? 모든 여분의 문자를 사용하여 예처럼
latin-1
을 경우
'json.dumps (unicode (d, "utf-8", errors = "ign 광석 "))'직장? –
@PadraicCunningham은 예제에서 MORE_INFO와 같은 하위 수준이있을 때 중단됩니다. – Eli
큰 예를 들어 줄 수 있습니까? –