Python JSON декодирование - PullRequest
       16

Python JSON декодирование

4 голосов
/ 20 марта 2011

У меня возникли проблемы с расшифровкой этого JSON в Python.

С basehttpserver я возвращаюсь

[
 {
    "changed_aspect": "media", 
    "object": "geography", 
    "object_id": "1306", 
    "subscription_id": 1326, 
    "time": 1300570688
 }
]

который я помещаю в simplejsondecoder с

data = simplejson.loads(s)

но когда я смотрю на длину данных, возвращается 1, а не 5 для объектов json, как я ожидал.

Вот весь код, если проблема не в этом.

class httpserver(BaseHTTPServer.BaseHTTPRequestHandler):
    def do_POST(self):
        self.data_string = self.rfile.read(int(self.headers['Content-Length']))
        self.send_response(200)
        self.end_headers()

        data = simplejson.loads(self.data_string)
        print len(data)
        return

1 Ответ

8 голосов
/ 20 марта 2011

Когда вы декодируете JSON, вы получаете именно то, на что он похож, список, содержащий один элемент.

data[0] должен быть словарем, который вы ожидаете увидеть.

...