json 데이터 다루기
json 데이터
dumps, loads
import simplejson as json
#Dict(Json)선언
data = {}
data['people'] = []
data['people'].append({
'name': 'Kim',
'website': 'naver.com',
'from': 'Seoul',
})
data['people'].append({
'name': 'Park',
'website': 'google.com',
'from': 'Busan'
})
data['people'].append({
'name': 'Lee',
'website': 'daum.net',
'from': 'Incheon'
})
#data = {'people': [{'name': 'Kim', 'from': 'Seoul', 'website': 'naver.com'}, {'name': 'Park', 'from': 'Busan', 'website': 'google.com'}, {'name': 'Lee', 'from': 'Incheon', 'website': 'daum.net'}]}
#Dict(Json) -> Str
e = json.dumps(data, indent=4)
print(type(e)) #string
print(e)
#Str -> Dict(Json)
d = json.loads(e)
print(type(d)) #dict
print(d)
#json 파일 쓰기(dumps)
with open('c:/section4/member.json','w') as outfile:
outfile.write(e)
#json 파일 읽기(loads)
with open('c:/section4/member.json', 'r') as infile:
r = json.loads(infile.read())
print('=====')
#print(type(r))
#print(r)
for p in r['people']:
print('Name: ' + p['name'])
print('Website: ' + p['website'])
print('From: ' + p['from'])
print('')
- dumps 는 문자열을 반환함.
- loads는 이 문자열을 원래 형태의 자료형으로 변환
- json 을 simplejson으로 사용하는게 좋음
dump, load
#Dict(Json)선언
data = {}
data['people'] = []
data['people'].append({
'name': 'Kim',
'website': 'naver.com',
'from': 'Seoul',
'grade': [95,77,89,91]
})
data['people'].append({
'name': 'Park',
'website': 'google.com',
'from': 'Busan',
'grade': [85,67,100,94]
})
data['people'].append({
'name': 'Lee',
'website': 'daum.net',
'from': 'Incheon',
'grade': [98,79,99,92]
})
#data = {'people': [{'name': 'Kim', 'from': 'Seoul', 'website': 'naver.com', 'grade': [95,77,89,91]}, {'name': 'Park', 'from': 'Busan', 'website': 'google.com', 'grade': [85,67,100,94]}, {'name': 'Lee', 'from': 'Incheon', 'website': 'daum.net', 'grade': [98,79,99,92]}]}
#json 파일 쓰기(dump)
with open('c:/section4/member.json','w') as outfile:
json.dump(data, outfile)
#json 파일 읽기(load)
with open('c:/section4/member.json', 'r') as infile:
r = json.load(infile)
print('===================')
#print(type(r))
#print(r)
for p in r['people']:
print('Name: ' + p['name'])
print('Website: ' + p['website'])
print('From: ' + p['from'])
t = p['grade']
grade = ''
for g in t:
grade = grade + ' ' + str(g)
print('Grade:', grade.lstrip())
print('')
- dump는 위의 형식으로 곧바로 파일만들기 편함.
- 즉 json 파일을 자주 만들어야 하는 상황이면 dump가 유용함.
Leave a Comment