Я хочу создать скрипт Python, который анализирует файл JSON.Внутри файла JSON есть структура XML.Я хочу заменить определенное поле этой структуры XML новым значением.Чтобы быть более конкретным, я пытаюсь заменить поле «isteredBy »новым значением, которое я хочу.Мне нужно сделать это для нескольких файлов, поэтому мне нужен скрипт.
Я новичок в Python.Пока что я могу открыть файл JSON и создать новое значение (закомментированный код Python).Я все еще пытаюсь выяснить, как ввести блок кода XML и заменить нужное поле новым значением.
Любые предложения о том, что / где читать, приветствуются.
Спасибо.
{
"creationDate": 1542716832357,
"id": "15f66daf-1fc3-46b5-9d0e-915bc8058c52",
"payload": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><tns:service xmlns:tns=\"http://example.com\"><tns:category>data</tns:category><tns:description>Service Description.</tns:description><tns:serviceMetadata><tns:registeredAt>1542386903532</tns:registeredAt><tns:registeredBy>George Papadopoulos</tns:registeredBy></tns:serviceMetadata></tns:service>",
"resource": {
"creationDate": 1542386903542,
"id": "0b5dd030-af5e-4b1a-8be3-1b5e195615e2",
"modificationDate": 1549460188076,
"payload": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><tns:service xmlns:tns=\"http://example.com\"><tns:category>data</tns:category><tns:description>Service Description.</tns:description><tns:serviceMetadata><tns:registeredAt>1542386903532</tns:registeredAt><tns:registeredBy>George Papadopoulos</tns:registeredBy></tns:serviceMetadata></tns:service>",
"payloadFormat": "xml",
"resourceTypeName": "service",
"version": "02062019133628"
}
}
import json
with open('this.json', 'r') as json_file:
json_data = json.load(json_file)
for item in json_data:
if item['registeredBy'] in ["George Papadopoulos"]:
item['registeredBy'] = "Nick"
with open('this.json', 'w') as file:
json.dump(json_data, json_file, indent=2)
#with open('this.json', 'r') as json_file:
# json_data = json.load(json_file)
# json_data['registeredBy'] = "Nick"
#
#with open('this.json', 'w') as json_file:
# json_file.write(json.dumps(json_data))