2010-08-18 15 views
19

कैसे सेवा करें JSON की सेवा के लिए वेबपी का उपयोग करना संभव है? मैंने अपनी वेबसाइट बनाई और मुझे कुछ पृष्ठों पर जावास्क्रिप्ट से बातचीत करने के लिए JSON में कुछ जानकारी देने की आवश्यकता है।वेबपी: JSON

मैं प्रलेखन में उत्तर देखने की कोशिश करता हूं, लेकिन मुझे कुछ भी नहीं मिल रहा है।

धन्यवाद, जियोवानी

उत्तर

56

मुझे लगता है कि नहीं होता है कि आप बहुत ज्यादा कुछ भी कर दिया था " जेएसओएन की सेवा के लिए web.py के लिए विशेष "।

import web 
import json 

class index: 
    def GET(self): 
     pyDict = {'one':1,'two':2} 
     web.header('Content-Type', 'application/json') 
     return json.dumps(pyDict) 
+0

सही! मुझे पता था कि मैं इमेजिंग की तुलना में आसान था! आपका बहुत बहुत धन्यवाद! –

+0

यदि आप क्लाइंट के आधार पर HTML * OR * JSON प्रस्तुत करना चाहते हैं, तो मैंने इस प्रश्न के उत्तर में कुछ कोड उदाहरण पोस्ट किए हैं। –

+0

@ सेन: क्षमा करें यह इस प्रश्न का उद्देश्य नहीं है: मैं एक अच्छा कार्यान्वयन नहीं ढूंढ रहा था, लेकिन इसे करने का एक आसान तरीका था। –

-6

यह निश्चित रूप से webpy से JSON सेवा करने के लिए संभव है, लेकिन अगर आप और एक रूपरेखा चयन करते समय, मैं और सितारों का प्रकाश देखेंगे मेरी कांटा गोधूलि (प्रलेखन के लिए)।

इसमें आपके जेसन प्रतिक्रिया के लिए http शीर्षलेख को ठीक करने के लिए एक JSON wrapper है।

यह जेसन या अन्य ऑब्जेक्ट्स से रूपांतरणों को संभालने के लिए जेसन या सरलजोन पुस्तकालयों का उपयोग करता है।

मैं अभी इसका उपयोग कर रहा हूं और यह बहुत अच्छा है।

https://bitbucket.org/marchon/twilight

उस में

आपको एक उदाहरण ShowMeTheJson.py

बुलाया सरल json का उपयोग करता है खोजने के

from starlight import * 
from werkzeug.routing import Map 
from werkzeug.routing import RuleFactory 

import simplejson 


class ShowMeTheResponses(App): 

#################################################################### 
# 
# Sample URLS to Test Responses 
# 
# http://localhost:8080/    root 
# 
# http://localhost:8080/json   return JSON Mime Type Doc 
# 
################################################################### 



    @default 
    def hello(self): 
     return 'Hello, world!' 

    @dispatch('/') 
    def index(self): 
     return 'Hello Root!' 

    @dispatch('/html') 
    def indexhtml(self): 
     return HTML('Hello HTML') 

    @dispatch('/json') 
    def indexjson(self): 
     directions = {'N' : 'North', 'S' : 'South', 'E':'East', 'W' : 'West'} 
     return JSON(simplejson.dumps(directions))   


if __name__ == '__main__': 
    from werkzeug import run_simple 
    run_simple('localhost', 8080, ShowMeTheResponses()) 
+0

यह बहुत अच्छा है, लेकिन मैं अपनी सभी वेबसाइट माइग्रेट नहीं कर सकता। क्या आपके पास वेबपी के लिए कोई पॉइंटर है? –

+2

लोगों को "आपका" ढांचा उपयोग करने के लिए कहने से वास्तव में सवाल का जवाब नहीं है। –