Python JSON이란 무엇이며 어떻게 구현합니까?



Python JSON에 대한이 기사는 예제 프로그램의 도움으로 JSON을 구문 분석, 직렬화 및 역 직렬화하는 방법을 배우는 데 도움이됩니다.

온라인 API에서 데이터를 전송하거나 다른 종류의 데이터를 로컬 시스템에 저장하는 방법을 알고 계십니까? 한 가지 또는 다른 방식으로 JSON에 몰두했습니다. 자바 스크립트 객체 표기법. 반 구조화 된 데이터를 나타내는 데 사용되는 유명하고 널리 사용되는 데이터 형식입니다. Python JSON에 대해 자세히 알아 보겠습니다.

이 기사에서는 다음 측면에 대해 설명합니다.





Python의 JSON 소개 :

JSON은 제이 ava 에스 크립트 또는 Bject otation정보를 체계적이고 쉽게 저장하는 방법입니다. 데이터는 브라우저와 서버간에 교환 될 때 텍스트 형식이어야합니다.

JSON 로고-Python JSON-Edureka



만약 당신이 궁금한 경우 ? 그러면 대답은 아니. 텍스트로 구성된 스크립트이며 사람이 읽을 수있는 형식으로 데이터를 저장하고 전송하는 데 사용됩니다. JavaScript에서 영감을 얻은 작고 가벼운 데이터 형식이며 일반적으로 텍스트 또는 문자열 형식으로 사용됩니다. 패킷 JSON 파이썬 사전과 거의 동일합니다. 자, 당신은 궁금 할 것입니다

Python에서 JSON 파일을 읽는 방법은 무엇입니까?

질문에 대한 대답은 일반적으로 Python 데이터 유형을 JSON 문자열 파일로 변환하는 JSON 모듈을 가져와야한다는 것입니다. JSON 파일에서 직접 읽고 쓰는 JSON 함수로 구성됩니다. 내장 JSON 패키지가 있고 표준 라이브러리의 일부이므로 설치할 필요가 없습니다.

예:

json 가져 오기

이제 Python의 JSON에 대해 알게되었으므로 Parsing에 대해 자세히 살펴 보겠습니다.



파싱 ​​:

JSON 라이브러리는 다음에서 JSON을 구문 분석 할 수 있습니다. 문자열 또는 파일. 또한 JSON을 또는 목록을 작성하고 그 반대로 수행하십시오. 구문 분석은 일반적으로 두 단계로 이루어집니다.

  1. JSON에서 Python으로 변환
  2. Python에서 JSON으로 변환

두 단계를 더 잘 이해하겠습니다.

JSON에서 Python으로 변환 :

다음을 사용하여 JSON 문자열을 Python으로 변환 할 수 있습니다.json.loads ().실제 구현을 보여 드리겠습니다.

예:

import json people_string = '' '{'people ': [{'emp_name ':'John smith ','emp_no. ':'924367-567-23 ','emp_email ': ['johnsmith@dummyemail.com '], 'has_license': 'false'}, { 'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' ''데이터 = json.loads (people_string) print (데이터)

산출:

위의 출력에서 ​​볼 수 있듯이 . 더 나은 이해를 위해 데이터 유형을 인쇄 해 보겠습니다.

예:

import json people_string = '' '{'people ': [{'emp_name ':'John smith ','emp_no. ':'924367-567-23 ','emp_email ': ['johnsmith@dummyemail.com '], 'has_license': 'false'}, { 'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' ''data = json.loads (people_string) print (type (data)) # 데이터 유형 인쇄

산출:



이제 하나의 전환에 익숙해 졌으므로 두 번째 단계에서 다른 전환 유형을 살펴 보겠습니다.

Python에서 JSON으로 변환 :

Python 개체는 다음을 사용하여 JSON 문자열로 변환 할 수 있습니다.json.dumps ().아래 주어진 예를 살펴 보겠습니다.

예:

import json people_string = '' '{'people ': [{'emp_name ':'John smith ','emp_no. ':'924367-567-23 ','emp_email ': ['johnsmith@dummyemail.com '], 'has_license': 'false'}, { 'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' '데이터 = json.loads (people_string) new_string = json.dumps (데이터) print (new_string)

산출:

출력은 JSON 문자열 유형입니다. 나는 이미 JSON에서 Python으로의 데이터 유형을 시연했으며 데이터 유형을 인쇄하기 위해 동일한 절차를 따를 것입니다.


계속해서 Pandas가 JSON을 파싱하는 방법을 살펴 보겠습니다.

팬더 파싱 JSON :

JSON 문자열은 판다 다음 단계의 데이터 프레임 :

  • 다음 일반 구조를 사용하여 JSON 문자열을 DataFrame에로드 할 수 있습니다.
pandas as pd pd.read_json (r'Path where you saved the JSON fileFile Name.json ')
  • JSON 문자열을 준비합니다.
  • 우리가 사용하는 JSON 파일은 nobel_prize.json입니다.
  • pandas DataFrame에 JSON 파일을로드합니다.

아래 구현 된 코드는 내 JSON 파일을 DataFrame에로드합니다.

java에서 double을 int로 변환
pandas를 pd로 import json을 open (r'C : UsersHarshit_KantDesktopnobel.prize.json ')으로 f : data = json.load (f) print (data) df = pd.DataFrame print (df)

산출:

계속해서 Python에서 JSON을 직렬화하는 방법을 살펴 보겠습니다.

JSON 직렬화 [인코딩] :

JSON 직렬화는 단순히 JSON을 인코딩한다는 것을 의미합니다. 주어진 파이썬 데이터 구조 (ex : dict)를 유효한 JSON 객체로 변환합니다. 파일의 데이터 흐름을 처리하기 위해 Python의 JSON 라이브러리는 덤프() 우울() 변환을 수행하고 데이터를 파일에 쉽게 쓸 수 있도록합니다.

아래 표는 파이썬 데이터 유형 각각의 JSON 유형으로 변환됩니다.

파이썬 JSON

dict (사전)

목적

목록, 배열

튜플

int, long, float

번호

진실

진실

그릇된

그릇된

없음

없는

기억해야 할 사항 :

덤프() – 데이터를 JSON 파일로 변환
우울() – 데이터를 JSON 문자열로 변환
하중() – JSON 파일을 Python 개체로 변환
loads () – JSON 문자열의 객체를 Python 객체로 변환합니다.

예쁜 인쇄 :

Pretty Printing은 코드 정렬을 처리하여 사람이 읽을 수있는 형식으로 만듭니다. 항상 부울 True 값과 'indent'공백을 반환하는 두 개의 매개 변수 'sort_keys'를 전달한 아래 예를 살펴 보겠습니다.

예:

import json people_string = '' '{'people ': [{'emp_name ':'John smith ','emp_no. ':'924367-567-23 ','emp_email ': ['johnsmith@dummyemail.com '], 'has_license': 'false'}, { 'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) print (new_string)

산출:

Python JSON 자습서에서 JSON의 역 직렬화를 이해하겠습니다.

JSON 역 직렬화 [디코드] :

JSON의 역 직렬화는 직렬화의 정반대입니다. 즉, JSON을 디코딩한다는 의미입니다. 주어진 JSON 문자열을 파이썬 목적 사용하여 하중() 잔뜩() 변환을 수행하는 방법.

다음은 JSON 데이터 유형을 해당 Python 유형으로 변환하는 것을 보여주는 표입니다.

JSON 파이썬

목적

dict (사전)

튜플

C ++ 정렬 목록

목록, 배열

번호

int, long, float

진실

진실

그릇된

그릇된

없는

없음

'Python JSON'자습서에서 계속 진행합니다. 코딩 관점을 통해 직렬화와 역 직렬화의 실시간 예를 보여 드리겠습니다.

코딩 데모 :

이 코딩 데모에서는 'Nobel Prize'라는 JSON 데이터 세트를 사용합니다. 여기 . JSON 파일을 통해 직렬화 및 직렬화 해제를 수행하는 방법을 배웁니다.

예 (JSON 데이터 세트의 직렬화) :

f : data = json.load (f) with open ( 'new_nobel_prize.json.html') as f : json.dump (data, f, indent = 2)로 open ( 'nobel_prize.json.html') json 가져 오기

산출:

성공적으로 컴파일되고 이미 존재하는 파일 'nobel_prize.json'에서 데이터가 덤프되는 새 파일 'new_nobel_prize.json'이 생성됩니다.

예 (JSON 데이터 세트 역 직렬화) :

import json with open ( 'nobel_prize.json.html') as f : data = json.load (f) for nobel_prize in data [ 'prizes'] : print (nobel_prize [ 'year'], nobel_prize [ 'category'])

산출:

코드 조각은 JSON 파일에서 해당 Python 개체로의 변경 사항을 보여줍니다.

이것으로 'Python JSON'기사의 끝으로 이동합니다. JSON, Parsing, Serialization 및 Deserialization과 관련된 모든 개념을 명확하게 이해하시기 바랍니다.

가능한 한 많이 연습하고 경험을 되 돌리십시오.

질문이 있으십니까? 이 Python JSON 기사의 댓글 섹션에서 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다. 다양한 애플리케이션과 함께 Python에 대한 심층적 인 지식을 얻으려면 다음을 수행 할 수 있습니다. 연중 무휴 지원 및 평생 액세스를 제공하는 라이브 온라인 교육을 통해