python 에서 문자열 형식 json 작업 에 대한 주의사항

2893 단어 pythonjson문자열
python 에서 json 을 조작 하 는 방법 은json.dumps―제 이 슨 대상(사전)을 문자열 대상 으로 변환json.loads―문자열 대상 을 json 대상(사전)으로 변환 합 니 다.
하면,만약,만약...

jsonstring1={"results":[{"id":"1","name":"\u9ed8\u8ba4\u5206\u7ec4","policy":"4","timer_scan_setting":"{\"last\":\"10.29.13\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"13\"}"},
{"id":"2","name":"\u6d4b\u8bd5\u7684","policy":"1","timer_scan_setting":"{\"last\":\"10.29.15\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"15\"}"},{"id":"4","name":"\u4ea7\u54c1\u7ec4","policy":"3","timer_scan_setting":"{\"last\":\"10.8.15\",\"setting\":\"disable\"}"}]}
제 이 슨 에 따라 직접 조작 할 수 있 습 니 다.예 를 들 어...

print jsonstring1.keys()
print jsonstring1['results'][0]['policy']
360 도 돌려 서 할 수도 있어 요.

jsonstring1=json.dumps(jsonstring1)
jsonstring1=json.loads(jsonstring1)
print jsonstring1.keys()
print jsonstring1['results'][0]['policy']
하지만 문자열 대상 을 정의 하려 면 조심해 야 합 니 다.

jsonstring2='''{"results":[{"id":"1","name":"\u9ed8\u8ba4\u5206\u7ec4","policy":"4","timer_scan_setting":"{\"last\":\"10.29.13\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"13\"}"},
{"id":"2","name":"\u6d4b\u8bd5\u7684","policy":"1","timer_scan_setting":"{\"last\":\"10.29.15\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"15\"}"},{"id":"4","name":"\u4ea7\u54c1\u7ec4","policy":"3","timer_scan_setting":"{\"last\":\"10.8.15\",\"setting\":\"disable\"}"}]}'''
이것 은 위의 json 대상 에 세 개의 따옴표 만 추가 하여 하나의 문자열 로 바 꾸 었 기 때문에 이론 적 으로 직접 loads 한 후에 json 에 따라 조작 할 수 있 습 니 다.

json.loads(jsonstring2)
그러나 실제 적 으로 잘못 보 고 된 이 유 는 대괄호 전후의 작은 따옴표 가 제거 되 지 않 았 기 때 문 입 니 다.인터넷 에 있 는 많은 온라인 json 포맷 도 구 는 이러한 작은 따옴표 에 대해 잘못 보 고 를 하지 않 습 니 다.그러나 python 회 는 json 대상 을 정의 할 때 작은 따옴표 조작 을 했 지만 잘못 보 고 를 하지 않 았 습 니 다.왜냐하면 내부 의 내용 이 바 뀌 기 때문에 인터넷 의 json 형식 검사 도 구 를 완전히 믿 어 서 는 안 됩 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기