У меня есть этот тестовый сценарий, в котором мне нужно
- извлечь данные из API,
- записать его в файл,
- сделать обновления в JSONмассив и обновить файл
- использовать новый файл в качестве полезной нагрузки.
Я смог сделать первые два шага, но не смог продолжить в дальнейших шагах, так как я не играл с JSON в Java.
APIрезультат шага 1:
{"id":123,"type":"employee","employee_id":"5162231","full_name":"Mark Hamil","email_id":"mark_ham@ham.test","created_at":"2014-03-26","updated_at":"2015-04-06","empno":9122,"branches":[{"name":"Assets","asset_id":"56","attr_typ":"Assets","asset_path":"12-34-56789","is_pr":false,"is_lead":false},{"name":"Retail Banking","asset_id":"8","attr_typ":"RB","asset_path":"8-12-11221","is_pr":false,"is_lead":true},{"name":"Corporate Banking","asset_id":"94","attr_typ":"CB","asset_path":"94-122-22123","is_pr":false,"is_lead":true},{"name":"Rural Banking","asset_id":"118","attr_typ":"RuB","asset_path":"97-1188","is_pr":false,"is_lead":true}],"email_freq":{"id":21,"immediately":"N","daily":"N","weekly":"N","monthly":"N","ind_id":1136},"responsible_for":[{"region":"AS","office_code":"TH","office_loc":"BNK","name":"Asia - Thailand - Bangkok"}]}
Обновления, которые необходимо сделать:
Необходимо добавить новый объект json для ответственного офиса в ключе responsible_for
.Обновленное значение для responsible_key
должно выглядеть следующим образом:
"responsible_for":[{"region":"AS","office_code":"TH","office_loc":"BNK","name":"Asia - Thailand - Bangkok"},{"region":"AS","office_code":"ML","office_loc":"KLP","name":"Asia - Malaysia - Kualalumpur"}]}
Код до сих пор
Я создал метод, который выполняет все четыре шага за один раз -
public static void change_person_details_json()throws IOException {
// get the person details after appending the id with base path/person
HelperRest.hitGetRequest(ConfigReader.getBaseUrl()+"person/"+HelperRest.get_person_id());
System.out.println(HelperRest.getResponse().body().asString());
HelperRest.logEverything();
//write the API response to a json file
try(FileWriter writer = new FileWriter(ConfigReader.getRequestPayloadFilePath()+"update-json.json")){
writer.write(HelperRest.getResponse().body().asString());
writer.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}