Я пытаюсь обработать некоторые журналы и опубликовать содержимое журнала в API для дальнейшей обработки. Прежде чем отправлять данные в API, мне нужно переименовать ключи, но он не работает.Переименование ключа JSON в Python
Это то, что у меня есть до сих пор.
import re
import json
logs = ['2016-10-13 17:04:50 - info - uri:"GET x/y/z" ip:1.1.1.1 Rs:{"key1": "data", "key2":"data"}',
'2016-10-13 17:05:10 - info - uri:"GET x/y/z" ip:1.1.1.1 Rs:{"key1": "data", "key2":"data"}']
newLogs = []
for log in logs:
data = (re.compile(r"Rs:({[^}]*})").search(log)).group(1))
data.replace('key1','keyA').replace('key2','keyB')
newLogs.append(data)
# Current output - the keys are not changed
print (newLogs)
>>>> ['2016-10-13 17:04:50 - info - uri:"GET x/y/z" ip:1.1.1.1 Rs:{"key1": "data", "key2":"data"}',
'2016-10-13 17:05:10 - info - uri:"GET x/y/z" ip:1.1.1.1 Rs:{"key1": "data", "key2":"data"}']
#Desired output
print (newLogs)
>>>> ['2016-10-13 17:04:50 - info - uri:"GET x/y/z" ip:1.1.1.1 Rs:{"keyA": "data", "keyB":"data"}',
'2016-10-13 17:05:10 - info - uri:"GET x/y/z" ip:1.1.1.1 Rs:{"keyA": "data", "keyB":"data"}']
В чем проблема? Вы получаете исключение? Пожалуйста, обновите вопрос с ошибкой, которую вы получаете. – AKS
Вопросы, требующие помощи по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См. [MCVE]. –
@AKS Я пытаюсь изменить ключевые значения, но не работает. Таким образом, ошибок нет. – Cryssie