Chciałbym przeanalizować ciąg JSON do obiektu w Google App Engine (python). Co polecasz? Coś do zakodowania / zdefiniowania też byłoby fajne. Czy to, co polecasz, jest wbudowane, czy też biblioteka, którą muszę uwzględnić w mojej aplikacji? Czy to jest bezpieczne? Dzięki.
python
json
google-app-engine
Nogwater
źródło
źródło
Odpowiedzi:
Rozważ użycie biblioteki json Django , która jest dołączona do GAE.
from django.utils import simplejson as json # load the object from a string obj = json.loads( string )
Powyższe łącze zawiera przykłady serializatora Django, a tutaj łącze do dokumentacji simplejson .
Jeśli patrzysz na przechowywanie instancji klas lub obiektów Pythona (w przeciwieństwie do kompozycji list, ciągów, liczb i słowników), prawdopodobnie chcesz przyjrzeć się pikle .
Mam nadzieję że to pomogło.
Nawiasem mówiąc, aby uzyskać Django 1.0 (zamiast Django 0.96) działające na GAE, możesz użyć następującego wywołania w swoim main.py, zgodnie z tym artykułem :
from google.appengine.dist import use_library use_library('django', '1.0')
Edycja: natywna obsługa formatu JSON w Google App Engine 1.6.0 z Pythonem 2.7
Jak Google App Engine 1.6.0, można użyć Python 2.7 środowiska wykonawczego , dodając
runtime: python27
wapp.yaml
, a następnie można zaimportować z natywną bibliotekę JSONimport json
.źródło
Google App Engine obsługuje teraz język Python 2.7. Jeśli używasz Pythona 2.7, możesz wykonać następujące czynności:
import json structured_dictionary = json.loads(string_received)
źródło
Czy dołączyć bibliotekę simplejson do swojej aplikacji?
źródło
To stare pytanie, ale pomyślałem, że udzielę zaktualizowanej, bardziej szczegółowej odpowiedzi. Dla tych, którzy lądują tutaj teraz, prawie na pewno używasz Pythona 2.6 lub nowszego, więc możesz użyć wbudowanego modułu json dla Pythona 2 (lub dla Pythona 3 , ponieważ Google niedawno dodał obsługę Pythona 3 w GAE). Importowanie jest tak proste, jak
import json
. Oto kilka przykładów użycia modułu 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}'
Jeśli używasz starszej wersji Pythona, trzymaj się odpowiedzi @Brian M. Hunt.
Ponownie, tutaj jest strona dokumentacji dla modułu json dla Pythona 2 , a tutaj jest dla Pythona 3 .
źródło
Jeśli korzystasz z Pythona 2.6 lub nowszego, z powodzeniem korzystałem z wbudowanej funkcji json .load. W przeciwnym razie simplejson działa na 2.4 bez zależności.
źródło
Zapoznaj się z sekcją Python w serwisie json.org . Standardowa obsługa bibliotek JSON rozpoczęła się w Pythonie 2.6, który moim zdaniem jest nowszy niż to, co zapewnia silnik aplikacji. Może jedna z innych wymienionych opcji?
źródło