Как получить файл json в формате новой строки, используя JsonObjectBuilder?
Файл json, созданный моей java-программой, выглядит следующим образом:
{"ATA_UTP_RequiredFields":{"userId":"NA","utpPlatform":"NA"},"Template":{"CR Type":"NA","# of test runs":"NA"},"TestConfiguration":{"CID":"NA","Campaign submitter id":"NA"},"TestSetupDetails":{"LogName":"NA","LogDetails":"NA","FailureType":"NA"}}
Все содержимое в одной строке. Хотя я хотел, чтобы это выглядело так:
{
"ATA_UTP_RequiredFields":{
"userId":"NA",
"utpPlatform":"NA"
},
"Template":{
"CR Type":"NA",
"# of test runs":"NA"
},
"TestConfiguration":{
"CID":"NA",
"Campaign submitter id":"NA"
},
"TestSetupDetails":{
"LogName":"NA",
"LogDetails":"NA",
"FailureType":"NA"
}
}
Правильно отформатирован новой строкой и вкладками. Я много искал, но не мог найти способ сделать это.
Вот мой пример кода:
utpJsonFormat utpJsonFormatObj = new utpJsonFormat();
JsonObjectBuilder utpJsonBuilder = Json.createObjectBuilder(); JsonObjectBuilder ATA_UTP_RequiredFields = Json.createObjectBuilder(); JsonObjectBuilder Template = Json.createObjectBuilder(); JsonObjectBuilder TestConfiguration = Json.createObjectBuilder(); JsonObjectBuilder TestSetupDetails = Json.createObjectBuilder(); JsonObjectBuilder ToolsOutput = Json.createObjectBuilder(); ATA_UTP_RequiredFields.add("userId",utpJsonFormatObj.getUserId()); ATA_UTP_RequiredFields.add("utpPlatform",utpJsonFormatObj.getUTPPlatform()); Template.add("CR Type",utpJsonFormatObj.getCrash()); Template.add("# of test runs",utpJsonFormatObj.getNoOfTestRuns()); TestConfiguration.add("CID",utpJsonFormatObj.getCID()); TestConfiguration.add("Campaign submitter id",utpJsonFormatObj.getCampaignSubmitterID()); TestConfiguration.add("Campaign submitter id",utpJsonFormatObj.getCampaignSubmitterName()); TestSetupDetails.add("LogName",utpJsonFormatObj.getlogName()); TestSetupDetails.add("LogDetails",utpJsonFormatObj.getlogDetails()); TestSetupDetails.add("FailureType",utpJsonFormatObj.getFailureType()); utpJsonBuilder.add("ATA_UTP_RequiredFields",ATA_UTP_RequiredFields); utpJsonBuilder.add("Template",Template); utpJsonBuilder.add("TestConfiguration",TestConfiguration); utpJsonBuilder.add("TestSetupDetails",TestSetupDetails); JsonObject utpJsonObject = utpJsonBuilder.build(); try { //write to file OutputStream os = new FileOutputStream("C:\\FT_Project\\javaPrograms\\utpTicket.json"); JsonWriter jsonWriter = Json.createWriter(os); jsonWriter.writeObject(utpJsonObject); jsonWriter.close(); } catch (Exception ex) { System.out.println("exception"); }
Пожалуйста, помогите, как бы я получить это отсортировано.