2012-02-06 2 views
10

youtube api에서 json 응답 데이터를 구문 분석하려고하지만 오류가 계속 발생합니다. 여기 유효한 JSON JSONDecodeError : Expecting, delimiter

는 질식 코드 조각입니다 :

data = json.loads("""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""") 

을 .. 그리고이 발생합니다

JSONDecodeError: Expecting , delimiter: line 1 column 23 (char 23) 

나는 그것이 유효한 JSON이 있다고 확인했습니다 나는 그것의 서식 여부를 제어 할 수 없습니다 어떻게이 오류를 지나쳐 나갈 수 있습니까?

답변

20

당신은 "" "전에 r이 필요하거나 \\ 모든 \을 대체 할 수 있습니다.이 문자열 자체는 다른 곳에서 JSON을 읽을 때 신경 써야 뭔가,하지만 일이 아니다.

data = json.loads(r"""{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }""")

당신은 당신의 JSON 문자열 전에 r를 추가 할 필요가 자세한 내용

3

에 대한 here를 참조하십시오.

>>> st = r'{ "entry":{ "etag":"W/\"A0UGRK47eCp7I9B9WiRrYU0.\"" } }' 
>>> data = json.loads(st) 
>>> 
+0

데이터에 이스케이프 처리되지 않은 작은 따옴표가있을 수 있기 때문에 "대신"대신 "을 사용하는 것이 좋습니다. 답변 해주셔서 감사합니다. – ofko

+0

@ofko : 나는 이것을 명확하게하기 위해 이것을 썼음을 안다. – RanRag