Я получаю эту строку от stdin.Python: Индексы строк должны быть целыми числами
{u'trades': [Custom(time=1418854520, sn=47998, timestamp=1418854517, price=322, amount=0.269664, tid=48106793, type=u'ask', start=1418847319, end=1418847320), Custom(time=1418854520, sn=47997, timestamp=1418854517, price=322, amount=0.1, tid=48106794, type=u'ask', start=1418847319, end=1418847320), Custom(time=1418854520, sn=47996, timestamp=1418854517, price=321.596, amount=0.011, tid=48106795, type=u'ask', start=1418847319, end=1418847320)]}
Моя программа терпит неудачу, когда я пытаюсь получить доступ к jsonload["trades"]
. Если я использую jsonload[0]
, я получаю только один символ: {
.
Я проверил, что это не проблема, потому что получить текст от stdin
, но я не знаю, является ли это проблемой получения формата (потому что я использовал библиотеку Incursion), или если это проблема в моем коде на Python , Я пробовал много комбинаций около json.load/s
и json.dump/s
, но безуспешно.
inputdata = sys.stdin.read()
jsondump = json.dumps(inputdata)
jsonload = json.loads(jsondump)
print jsonload
print type(jsonload) # return me "<type 'unicode'>"
print repr(jsonload) # return me same but with u" ..same string.... "
for row in jsonload["trades"]: # error here: TypeError: string indices must be integers
Ваш 'jsonload' является' string', а не 'dict'. –
Попробуйте 'jsonload = json.loads (inputdata)'. – jonrsharpe
@jonrsharpe it return me different error "ValueError: Ожидание имени свойства: строка 1 столбец 2 (char 1)", но вместо этого запускается json.loads –