- Java Script Object Notation ์ ์ฝ์์ด๋ค.
- json์ ๋จ์ํ ๋ฐ์ดํฐ ํฌ๋ฉง์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ผ ๋ฟ์ด๋ค.
- ์์ฑ-๊ฐ ์ / ํค-๊ฐ ์
- json์ ์ฐ๋ ์ด์
- jsonํ์ผ์ด ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ๊ฐ์ฒด๋ ๋ณ์์ ํ ๋นํด์ ์ฌ์ฉํ๊ธฐ ์ํจ์ด๋ค
json์ ๊ตฌ์กฐ
1. Object(๊ฐ์ฒด)
- name/value ์ ์์์์ผ๋ก set์ด๋ค.
- {} ๋ก ์ ์๋๋ค.
ex) { "์ด๋ฆ" : "ํ๊ธธ๋" }
2. Array(๋ฐฐ์ด)
ex) [ 10, "array", 32 ]
์ ์ฒด์ ์ธ ๊ตฌ์กฐ
{
"์ด๋ฆ": "ํ๊ธธ๋", → ์คํธ๋ง
"๋์ด": 25, → ์ซ์ (์ ์)
"ํน๊ธฐ": ["๋๊ตฌ", "๋์ "], → list ํํ ๊ฐ๋ฅ
"๊ฐ์กฑ๊ด๊ณ": {"์๋ฒ์ง": "ํํ์", "์ด๋จธ๋": "์ถ์ฌ"}, → array ํํ ๊ฐ๋ฅ
"๊ฒฐํผ ์ฌ๋ถ": true → Boolean
}
json์ ์ ์ฐ๋๊ฐ?
์์ ์์ jsonํ์ผ์ ์ด๋ฆ์ ' ๊ธธ๋info.json '์ด๋ผ๊ณ ํ์. ์ด ์ ๋ณด(๋ฐ์ดํฐ)๋ฅผ ์๋ก ์ฃผ๊ณ ๋ฐ๊ธฐ์ํด ์ฌ๋ฌ๊ฐ์ง์ ํ์์ผ๋ก ๋๊ฒจ์ค ์ ์๊ฒ ์ง๋ง json์ ๋ค๋ฅธ ํฌ๋ฉง์ ๋นํด ๊ฒฝ๋ํ๋ ๋ฐ์ดํฐ ํฌ๋ฉง์ด๋ค. ๊ทธ๋ ๊ธฐ์ A๊ฐ B์๊ฒ ํ๊ธธ๋์ ์ ๋ณด๊ฐ ๋ด๊ธด data๋ฅผ ๋๊ฒจ์ฃผ๊ธฐ ์ํด jsonํฌ๋ฉง์ผ๋ก ํฌ์ฅํ์ฌ ๋๊ฒจ์ฃผ๋ ๊ฒ์ด๋ค.
json parsing ์ด๋?
A๋ก๋ถํฐ B๊ฐ ๊ธธ๋info.json ํ์ผ์ ๋ฐ์๋ค๊ณ ํ๋ฉด ์ด ํ์ผ์ ๋ด๊ธด data๋ฅผ ์ฐพ์ ๊ฐ์ฒด๋ ๋ณ์์ ํ ๋นํ๊ธฐ์ํด jsonํ์ผ ๋ด์์ ํน์ data๋ง์ ๊ฐ์ ธ์์ผ ํ๋ค. ์ด๋ ๊ฒ jsonํ์ผ ๋ด์ ํน์ data๋ง ์ถ์ถํ๋ ๊ฒ์ json parsing์ด๋ผ๊ณ ํ๋ค.
ํ์ด์ฌ์์ JSON ์ฌ์ฉํ๊ธฐ
import json → json ๋ชจ๋ import
with open('sample.json', 'r') as f: → ํ์ผ ์ฝ๊ธฐ f
sample = json.load(f) → json.load() ํจ์์์ sample ์ฝ์ด์ด
sample['์ด๋ฆ'] = 'ํ๊ธธ๋'
sample['๋์ด'] = 25
sample['ํน๊ธฐ'] = ['๋๊ตฌ', '๋์ ']
sample['๊ฐ์กฑ๊ด๊ณ'] = {"์๋ฒ์ง": "ํํ์", "์ด๋จธ๋": "์ถ์ฌ"}
sample['๊ฒฐํผ ์ฌ๋ถ] = True
with open('sample_out.json', 'w') as w:
json.dump(sample, w, indent='\t') → ํ์ด์ฌ ๊ฐ์ฒด sample์ file w์ ์ ์ฅํจ
728x90
๋ฐ์ํ