#java #gson #cucumber-jvm
#java #gson #cucumber-jvm
Вопрос:
Я использую библиотеку GSON для чтения файла JSON для своей автоматизации. Для чего мне нужно прочитать файл, а затем создать объект json во время обхода JSON.
Позже я использую эти объекты для изменения JSON .. Я хочу сократить код для обхода json, поскольку создается много объектов.
Хотя это работает отлично. Просто мне нужно модулировать код.
Добавление кода с URL, ответа и пользовательского JSON
Url.json
{"emplyee":
{"addemplyee": "<URL>/emplyee","addemplyee": "<URL>/editemplyee"}
}
Response .json
[
{"success":true},
{"success":false}
]
emplyee.json
{
"addemplyee":
{"details":{
"lst":"lastname",
"id":"username",
"Password":"password"
}
},
"editemplyee":
{ "details":{
"Password":"password"
}}}
Актуально
В настоящее время я создаю несколько объектов для чтения файла jOSN, а позже, используя его, я обновляю свой JSON.
Ожидается, что я могу модулировать этот подход к коду.
Ответ №1:
Да, вы можете:
public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); //you can reuse gson as often as you like
public <T> static T readJson(String file){
try{
FileReader fr = new FileReader(new File(file)); //gson takes a filereader no need to load the string to ram
T t = GSON.fromJson(fr, T.getClass());
fr.close(); //close the reader
return t;
}catch(Error e){
//ignore or print, if you need
}
}