python에서 dictionary 데이터를 json 형태로 dumps하거나 반대로 json 데이터를 dictionary 형태로 loads할 때 발생하는
1 2 | ValueError: Expecting property name: line 1 column 2 (char 1)
Expecting property name enclosed in double quotes
|
에러는 dumps, loads 하려는 데이터가 double quote(쌍 따옴표) 로 감싸지지 않고 single quote(따옴표)로 감싸져 있을 경우 발생한다.
1 2 | "{"property": "1"}" # 허용 O
"{'property': '1'}" # 허용 X
|
만약에 single quote로 된 데이터를 변경하지 못한다면 모듈 ast를 사용해서 해결 할 수 있다.
1 2 3 4 5 6 7 8 9 | import ast
import json
data = "{'property': '1'}"
# dumps
json.dumps(ast.literal_eval(data))
# loads
ast.literal_eval(data) # return type: dict
|
refer
https://code.i-harness.com/en/q/1884426
https://stackoverflow.com/questions/25707558/json-valueerror-expecting-property-name-line-1-column-2-char-1