मैं Google अनुप्रयोग इंजन में JSON को कैसे पार्स कर सकता हूं?


81

मैं Google अनुप्रयोग इंजन (अजगर) के तहत एक JSON स्ट्रिंग को एक वस्तु में पार्स करना चाहता हूं। आप क्या सलाह देते हैं? कुछ सांकेतिक शब्दों में बदलना / भी अच्छा होगा। क्या आप अपने ऐप में शामिल लाइब्रेरी या लाइब्रेरी बनाने की सलाह देते हैं? क्या यह सुरक्षित है? धन्यवाद।


यदि पायथन आपके ढेर पर है तो क्या संस्करण है?

मैं ऐप इंजन संस्करण 1 का उपयोग कर रहा हूं, जिसे अजगर 2.5 होना चाहिए।
नोगवॉटर

जवाबों:


114

Django के json lib का उपयोग करने पर विचार करें , जो GAE के साथ शामिल है।

from django.utils import simplejson as json

# load the object from a string
obj = json.loads( string )

ऊपर दिए गए लिंक में Django के धारावाहिक के उदाहरण हैं, और यहाँ simplejson के प्रलेखन के लिए लिंक है ।

यदि आप पायथन क्लास के इंस्टेंस या ऑब्जेक्ट्स को देख रहे हैं (जैसा कि सूचियों, स्ट्रिंग्स, संख्याओं और शब्दकोशों की रचनाओं के विपरीत), तो आप संभवतः अचार को देखना चाहते हैं ।

मुझे आशा है कि वह मदद करेंगे।

गलती से, जीएई पर चलने वाले Django 1.0 (Django 0.96 के बजाय) को प्राप्त करने के लिए, आप इस लेख के अनुसार, अपने मेनफ्रेम में निम्नलिखित कॉल का उपयोग कर सकते हैं :

from google.appengine.dist import use_library
use_library('django', '1.0')

संपादित करें: पायथन 2.7 के साथ Google ऐप इंजन 1.6.0 में मूल JSON का समर्थन

Google App Engine 1.6.0 के रूप में, आप पायथन 2.7 रनटाइम का उपयोग करके जोड़ सकते runtime: python27हैं app.yaml, और फिर आप के साथ देशी जेपी लाइब्रेरी आयात कर सकते हैं import json


शानदार जवाब, इसने मेरी बहुत मदद की। बस यहाँ एक टिप्पणी: जब मैं आयात json सुविधा का उपयोग करता हूं, तो मुझे अपने ऐप को तैनात करते समय 500 सर्वर त्रुटि मिलती है। लेकिन जब मैं django.utils से सिंपलसन आयात करता हूं तो json के रूप में यह पूरी तरह से काम करता है।
जोस गरिडो ने

22

Google ऐप इंजन अब अजगर 2.7 का समर्थन करता है। अगर अजगर 2.7 का उपयोग कर रहा है, तो आप निम्न कार्य कर सकते हैं:

import json
structured_dictionary = json.loads(string_received)


2

यह एक पुराना प्रश्न है, लेकिन मुझे लगा कि मैं एक अद्यतन, अधिक विस्तृत उत्तर दूंगा। अब यहां उतरने वालों के लिए, आप लगभग निश्चित रूप से अजगर 2.6 या उससे अधिक का उपयोग कर रहे हैं, इसलिए आप पायथन 2 (या पायथन 3 के लिए , क्योंकि हाल ही में Google ने GAE पर पायथन 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}'

यदि आप अजगर के पुराने संस्करण का उपयोग कर रहे हैं, तो @Brian एम। हंट के उत्तर से चिपके रहें।

फिर, यहाँ पायथन 2 के लिए json मॉड्यूल के लिए डॉक्टर पृष्ठ है , और यहाँ यह पायथन 3 के लिए है


1

में निर्मित आप python2.6 या अधिक से अधिक उपयोग कर रहे हैं, मैं सफलता के साथ उपयोग किया है json .load कार्य करते हैं। अन्यथा, सरलजन 2.4 पर निर्भरता के बिना काम करता है।


0

Json.org के अजगर खंड को देखें । JSON के लिए मानक पुस्तकालय का समर्थन अजगर 2.6 में शुरू हुआ, जो मुझे विश्वास है कि ऐप इंजन द्वारा प्रदान की गई तुलना में नया है। शायद सूचीबद्ध अन्य विकल्पों में से एक?


4
यह वास्तव में ऐप इंजन के लिए प्रासंगिक नहीं है।
टिम मैकनामारा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.