लिखने के लिए कोई विचार है कि टोरनाडो का उपयोग करके अजगर में JSON ऑब्जेक्ट को आउटपुट कैसे करें। कोई भी अच्छा उदाहरण, ट्यूटोरियल, पुस्तकालय या एक पंक्ति कोड जो JSONP ऑब्जेक्ट को आउटपुट करता है।टॉरनाडो एक जेसनपी ऑब्जेक्ट
9
A
उत्तर
22
तूफान tornado.escape.json_encode
प्रदान करता है, जो केवल अजगर पर json
लपेटता है 2.6+ या पाइथन 2.5 पर simplejson
।
from tornado.escape import json_encode
obj = {
'foo': 'bar',
'1': 2,
'false': True
}
self.write(json_encode(obj))
आउटपुट:
{"1": 2, "foo": "bar", "false": true}
एक JSONP प्रतिक्रिया के लिए:
callback = self.get_argument('callback')
jsonp = "{jsfunc}({json});".format(jsfunc=callback,
json=json_encode(obj))
self.set_header('Content-Type', 'application/javascript')
self.write(jsonp)
यह उपयोग करने के लिए आसान है
1
आपको लगता है कि जिस तरह से
import json
class GetYearsHandler(tornado.web.RequestHandler):
def get(self):
try:
response = get_years(self.get_argument("dataset_id"))
result = {'status':'success', 'response': response}
kk = tornado.escape.json_encode(result)
kk = wrap_callback(self, kk)
self.write(kk)
except Exception, e:
print >> sys.stderr, "Error occured:\n%s" % format_exc()
self.write(json.dumps({'status': 'fail', 'error': "Error occured:\n%s" % format_exc()}))
def get_years (dataset_id):
dates=[]
years=[]
conn = condb()
cur = conn.cursor()
data = {'dataset_id':dataset_id}
cur.execute("SELECT layers.start_time FROM layers, datasets WHERE (layers.dataset_id=datasets.id) AND (datasets.business_id=%(dataset_id)s)",data)
for row in cur.fetchall():
dates.append(row[0])
date=""
for date in dates:
year = int(date.year)
if not year in years:
years.append(year)
conn.close()
years.sort()
return years
में json obj वापस आ सकते हैं वर्ग रजिस्टर करने के लिए
def main(db_fn=None):
tornado.options.parse_command_line()
application = tornado.web.Application([
(r"/get_datasets", GetDatasetsHandler),
(r"/get_years", GetYearsHandler),
)
Conn - डेटाबेस कनेक्शन
संबंधित मुद्दे
- 1. टॉरनाडो
- 2. स्पष्ट जेसनपी xss भेद्यता
- 3. एक स्थिर जेसनपी प्रतिक्रिया का परीक्षण
- 4. गिटहब जेसनपी स्रोत कोड एपीआई
- 5. एक टॉरनाडो/वेबसाइकिल एप्लिकेशन को होस्ट करना
- 6. पुराने जेसनपी अनुरोध को कैसे मारें?
- 7. रेल में जेसनपी को संभालना 3 नियंत्रक
- 8. टॉरनाडो: websockets के कनेक्शन की पहचान/ट्रैक?
- 9. AJAX अनुरोध हैंडलर टॉरनाडो कैसे चलाएं
- 10. टॉरनाडो असिंक HTTP रिटर्निंग परिणाम वृद्धिशील
- 11. पायथन टॉरनाडो के लिए डिफैक्टो प्रोजेक्ट टेम्पलेट
- 12. टॉरनाडो websocket अनुप्रयोग में उपयोगकर्ता प्रमाणीकरण
- 13. टॉरनाडो वेब सर्वर (पायथन 2.5, विन 7)
- 14. एक HTML फॉर्म से पायथन-टॉरनाडो के साथ एक छवि को अपलोड करने के लिए कैसे?
- 15. एक ऑब्जेक्ट से एक ही ऑब्जेक्ट को
- 16. एक ही ऑब्जेक्ट या एक पीएचपी ऑब्जेक्ट
- 17. एकाधिक टॉरनाडो प्रक्रियाओं/धागे/अग्रभागों को कैसे चलाएं?
- 18. ट्विस्ट/टॉरनाडो एट कैटेरा कैसे काम करते हैं
- 19. एक शून्य ऑब्जेक्ट
- 20. एक क्यूटी ऑब्जेक्ट
- 21. एक संदर्भित ऑब्जेक्ट
- 22. एक सी # ऑब्जेक्ट
- 23. एक मॉक ऑब्जेक्ट
- 24. एक शून्य ऑब्जेक्ट
- 25. एक खाली JQuery ऑब्जेक्ट
- 26. एक सक्रियरेकॉर्ड ऑब्जेक्ट
- 27. एक 'lxml.etree._ElementTree' ऑब्जेक्ट
- 28. ऑटोमैपर एक ऑब्जेक्ट आईडी
- 29. एक जावास्क्रिप्ट ऑब्जेक्ट
- 30. एक JSON ऑब्जेक्ट