Я пишу тесты для веб-приложения Java Play, используя Play.test и org.junit. Некоторые тесты вызывают наши API через http-запросы. Я создаю JsonNode всякий раз, когда мне нужно включить тело запроса в свои запросы.
Один такой запрос требует, чтобы я включил массив.
Код:
JsonNode arr = Json.newArray()
.add("Element 1")
.add("Element 2")
.add("Element 3");
sendNode =
Json.newObject()
.put("foo_id", "stringy string")
.put("name", "New foo")
.set("an_array", arr);
У меня нет проблем с добавлением этого массива. Приведенный выше код работает как есть; Однако, если я добавлю строку:
... //Same as above
sendNode =
Json.newObject()
.put("foo_id", "stringy string")
.put("name", "New foo")
.set("an_array", arr)
.put("another_field", "value")
Вдруг ошибка. Я не могу добавить больше полей к объекту.
Я ищу способ достичь этого желаемого объекта Json (тело запроса HTTP):
{
foo_id: "123abc",
name: "thisthing",
an_array: ["element1", "element2", "element3"],
another_field: "fieldvalue"
}