mit Ich habe einen einfachen Server from here, und wenn die GET-Funktion aufgerufen wird, ich möchte es eine JSON-Datei zurückzukehren, als zeigen in den entsprechenden Code-Schnipsel unter:Rückkehr JSON eine GET-Anforderung von Server
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
import json
class S(BaseHTTPRequestHandler):
def _set_headers(self):
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
def do_GET(self):
self._set_headers()
with open('test.json') as data_file:
data = json.load(data_file)
self.wfile.write(data)
Meine jSON-Datei:
{"foo": "bar", "boo": "far"}
die Anwendung die Datei (client.py) anfordert:
import requests
import json
r = requests.get('http://localhost:8080')
print r.json()
jedoch bei dem Versuch, client.py ich die folgende Fehlermeldung erhalten auszuführen:
ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
Bin ich die test.json Datei in der do_GET Funktion richtig geladen?
Vielen Dank für Ihre Hilfe :)
Warum Sie die JSON auf dem Server parsen, wenn Sie es zurück liefern wollen an den Client? Mach einfach 'mit open ('test.json') als data_file: self.wfile.write (data_file.read())' – zwer
Es funktioniert jetzt, danke! Ich wusste, dass ich es auf eine unangenehme Weise mache:/Fühle mich frei, es als Antwort einzureichen! – monadoboi