Спецификация в ответе сервера портит анализ JSON

Я пытаюсь написать скрипт Python, который отправляет часть JSON на веб-сервер и возвращает часть JSON. Я собрал несколько разных примеров в StackOverflow и думаю, что у меня есть кое-чтов основном работает.

import urllib2
import json

url = "http://foo.com/API.svc/SomeMethod"
payload = json.dumps( {'inputs': ['red', 'blue', 'green']} )
headers = {"Content-type": "application/json;"}

req = urllib2.Request(url, payload, headers)
f = urllib2.urlopen(req)
response = f.read()
f.close()

data = json.loads(response) # >> response
'\xef\xbb\xbf[\r\n  {\r\n    ... Valid JSON here

Итак, если я вручную удаляю первые три байта:

data = json.loads(response[3::])

Все работает иresponse превращается в словарь.

Мой вопрос:

Кажется глупым, чтоjson barfs, когда вы даете ему спецификацию. Есть ли что-то другое, что я могу сделать сurllib илиjson библиотека, чтобы дать ему знать, что это строка UTF8 и обрабатывать его как таковой? Я неЯ не хочу вручную вырезать первые 3 байта.

Ответы на вопрос(3)

Ваш ответ на вопрос