win7
>>> str_from_file = '{"url": "http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&lr=213"}'
... json.loads(str_from_file)
4: {u'url': u'http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&lr=213'}
>>> json.__version__
5: '1.9'
>>> import sys
>>> sys.version
6: '2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]'
>>> import json
... str_from_file = '{"url": "http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&lr=213"}'
... json.loads(str_from_file)
0: {u'url': u'http://yandex.ru/yandsearch?text=%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&lr=213'}
>>> json.__version__
1: '2.0.9'
>>> import sys
... sys.version
2: '2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]'
Вроде бы с хр тоже беда какая то была со строками. На 7 нормально, а на другой машине с хр возвращалась строка вместо юникода. Не помню в какой библиотеке.