Как конвертировать Json в Java для отправки POST-запроса, будьте уверены - PullRequest
0 голосов
/ 08 февраля 2020

Я хотел бы опубликовать запрос ниже, используя приведенную ниже полезную нагрузку и ища лучший способ сделать это, а не размещать его таким образом с экранирующими символами.

"{\ n" + "\ t \" name \ ": \" nameValue \ ", \ n" + "\ t \" age \ ": \" ageValue \ ", \ n" + "\ t \" sex \ ": \" sexValue \ ", \ n" + "\ t \" mobile \ ": \" mobileVal-uk \ ", \ n" + "\ t \" коды \ ": [ \ n "+" \ t \ t \ "8567 \" \ n "+" \ t] \ n "+"} ";

Я хотел бы использовать что-то вроде ниже, например, arraylist, jsonObject, hashmap или jsonrray.

@Test
public void studentDetails() {    
RestAssured.baseURI = "  http://localhost:3000";    
JSONObject mainObject = new JSONObject();    
JSONArray array = new JSONArray();    
array.put(Integer.parseInt("codes"), "8567");    
JSONObject arrayItem = new JSONObject();    
arrayItem.put("name", "nameValue");    
arrayItem.put("age", "ageValue");    
arrayItem.put("sex", "sexValue");    
arrayItem.put("mobile", "mobileVal");    
mainObject.put(String.valueOf(array), arrayItem);
given()            
  .body(mainObject.toString())            
  .when() 
  .post("/posts")            
  .then()
  .assertThat()
  .statusCode(200)
  .contentType(ContentType.JSON);
}

Ответы [ 2 ]

1 голос
/ 08 февраля 2020

Я бы порекомендовал использовать такую ​​библиотеку, как Джексон . Вы можете создать POJO, который будет представлять ваш JSON объект, что позволит вам легко go между JSON и Java объектами. Это избавит вас от многих хлопот, и вам не придется беспокоиться обо всем этом ужасном форматировании:)

Вот более подробное руководство - https://mkyong.com/java/jackson-how-to-parse-json/

0 голосов
/ 09 февраля 2020

Перейти http://www.jsonschema2pojo.org/ и создать POJO и использовать их для отправки запроса и ответа в объекте.

...