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가 유용함.

Tags:

Updated:

Leave a Comment