Python 의 simplejson 사용하기
Python 의 simplejson 사용하기
의존성 추가
import simplejson
문자열로 JSON 형태 만들기
szJson = '{' + '"callid":{}, "nodeid": {}, "content":"{}"'.format(1, 1, "hello") + '}'
이렇게 { "key" : "value"} 식으로 만들 수 있다.
출력해보면 아래와 같다.
print szJson # {"callid":1, "nodeid": 1, "content":"hello world"}
print type(szJson) # <type 'str'>
문자열 JSON 형태를 JSON Object (사전타입) 로 만들기
jsonObj = simplejson.loads(szJson)
출력해보면 아래와 같다. Dictionary (사전) 타입이 되었다. (순서 무시)
{'content': 'hello world', 'callid': 1, 'nodeid': 1}
<type 'dict'>
사전 타입이기때문에 아래와 같이 사용 할 수 있다.
print jsonObj["type"]
1 이 출력된다. 즉 문자열을 key/value 로 사용하기 쉽게 바꾸는것일 뿐이다.
JSON Object (사전타입) 를 문자열 JSON 형태로 만들기
packet = simplejson.JSONEncoder().encode(
{ "callid": 1,
"nodeid": 1,
"content": "hello world"
}
)
print packet
print type(packet)
아래와 같다.
packet = simplejson.JSONEncoder().encode(jsonObj)
출력해보면 아래와 같다. 다시 문자열이 되었다.
{"content": "hi", "callid": 1, "nodeid": 1}
<type 'str'>
JSON Object (사전타입) 의 내용 바꾸기
Dictionary (사전) 타입이기 때문에 그냥 아래와 같이 하면 된다.
jsonObj["content"] = "new hello world"