Вот код, который полностью развеет все сомнения
>>> str_from_file = '{"url": "http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&lr=213"}' >>> json_obj = json.loads(str_from_file) >>> json_obj {u'url': u'http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&lr=213'} >>> url = json_obj['url'] >>> url u'http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&lr=213' >>> import urllib >>> urldecoded = urllib.unquote(url) >>> urldecoded u'http://yandex.ru/yandsearch?text=\xd0\xbc\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0&lr=213'
Ну или что я делаю не так?