Как получить файл json в формате новой строки, используя JsonObjectBuilder? - PullRequest
0 голосов
/ 23 октября 2018

Файл 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");
    }

Пожалуйста, помогите, как бы яполучить это отсортировано.

...