Вы можете сначала очистить json, используя regex
. Для очистки я делю json на две части url_data and download_data
.
Первый шаг - удалить ненужные двойные кавычки из download_data
, это регулярное выражение re.sub('"', '', data[data.index(',') + 1 :])
удаляет двойные кавычки.
Далее добавьте двойные кавычки к словам, используя регулярное выражение re.sub("(\w+):", r'"\1":', download_data)
, это добавит двойные кавычки вокруг всех слов в json.
import re
import json
data = '{"URL_IN": "http://localhost/","DownloadData": "{\"data\":[{samples:[{t:1586826385724,v:5.000e+000,l:0,s:-1,V:-1},{t:1587576460460,v:0.000e+000,l:0,s:-1,V:-1}]}]}"}'
url_data = data[:data.index(',') + 1]
download_data = re.sub('"', '', data[data.index(',') + 1 :])
data = url_data + re.sub("(\w+):", r'"\1":', download_data)
data = json.loads(data)
res = [(x['t'], x['v']) for x in data['DownloadData']['data'][0]['samples']]
t, v = map(list, zip(*res))
print(t, v)
Вывод:
[1586826385724, 1587576460460] [5.0, 0.0]