JSON 문자열을 Google App Engine (python)의 개체로 구문 분석하고 싶습니다. 추천 메뉴가 무엇인가요? 인코딩 / 스트링 화하는 것도 좋을 것입니다. 추천하는 것이 내장되어 있습니까, 아니면 앱에 포함해야하는 라이브러리입니까? 안전합니까? 감사.
답변
GAE에 포함 된 Django의 json lib 사용을 고려하십시오 .
from django.utils import simplejson as json
# load the object from a string
obj = json.loads( string )
위의 링크에는 Django의 serializer 예제가 있으며 여기에 simplejson의 문서에 대한 링크 가 있습니다 .
Python 클래스 인스턴스 또는 객체를 저장하려는 경우 (목록, 문자열, 숫자 및 사전의 구성과 반대로) 아마도 pickle 을보고 싶을 것입니다 .
도움이 되었기를 바랍니다.
덧붙여서 GAE에서 Django 1.0 (Django 0.96 대신)을 실행하려면 이 기사 에 따라 main.py에서 다음 호출을 사용할 수 있습니다 .
from google.appengine.dist import use_library
use_library('django', '1.0')
편집 : Python 2.7을 사용하는 Google App Engine 1.6.0의 기본 JSON 지원
구글 앱 엔진 1.6.0로, 당신은 할 수 있습니다 파이썬 2.7 런타임을 사용하여 추가 runtime: python27
에 app.yaml
, 그리고 당신과 함께 네이티브 JSON 라이브러리를 가져올 수 있습니다 import json
.
답변
Google App Engine은 이제 python 2.7을 지원합니다. Python 2.7을 사용하는 경우 다음을 수행 할 수 있습니다.
import json
structured_dictionary = json.loads(string_received)
답변
앱에 simplejson 라이브러리를 포함 하시겠습니까?
답변
이것은 오래된 질문이지만 업데이트되고 더 자세한 답변을 줄 것이라고 생각했습니다. 지금 여기에 온 사람들에게는 거의 확실하게 Python 2.6 이상을 사용하고 있으므로 Python 2 (또는 Google이 최근 GAE에서 Python 3에 대한 지원을 추가했기 때문에 Python 3의 경우)에 내장 된 json 모듈 을 사용할 수 있습니다 . 가져 오기는 import json
. 다음은 json 모듈을 사용하는 방법의 몇 가지 예입니다.
import json
# parse json_string into a dict
json_string = '{"key_one": "value_one", "key_two": 1234}'
json_dict = json.loads(json_string)
# json_dict: {u'key_two': 1234, u'key_one': u'value_one'}
# generate json from a dict
json_dict = {'key': 'value', 'key_two': 1234, 'key_three': True}
json_string = json.dumps(json_dict)
# json_string: '{"key_two": 1234, "key": "value", "key_three": true}'
이전 버전의 Python을 사용하는 경우 @Brian M. Hunt의 답변을 고수하십시오.
다시 말하지만, 여기에 Python 2 용 json 모듈에 대한 문서 페이지가 있으며 여기에는 Python 3 용이 있습니다 .
답변
Python2.6 이상을 사용하는 경우 기본 제공 json .load 함수 를 성공적으로 사용했습니다 . 그렇지 않으면 simplejson 은 종속성없이 2.4에서 작동합니다.