Как читать массив из JSON на бэкэнде - PullRequest
0 голосов
/ 29 июня 2019

Frontend отправляет JSON в такой структуре:

{
    "orderElement":
        [
            {
            "product": 
              {
               "id" : 3,
               "name" : "product1",
               "description" : "desc1",
               "category": 
                       { 
                        "id":2, 
                       "name" : "cat1"
                       },
               "price" : 112},
               "quantity" : 1
            },
            {
            "product": 
              {
               "id" : 4,
               "name" : "product2",
               "description" : "desc2",
               "category":                            
                       {
                       "id" : 3, 
                       "name" : "cat2"
                       },
                price" : 353
              },
               "quantity" : 1
            }
        ],
      "user" 
           {
            "id" : 109,
            "lastName" : "a",
            "firstName" : "a",
            //rest of parameters
           }
 }

console.log, используемый для компонента ts, возвращает полный JSON, содержащий все эти данные.

Тем не менее, когда это отправляется на сервер, orderElement обнуляется (пользователь отправляется в порядке, OrderPlaceTime заполнен на стороне сервера):

@Component
public class OrderConverter implements Converter<Order, OrderDTO> {

    @Override
    public Order convertToEntity(OrderDTO dto) {
        Order order = new Order();
        order.setId(dto.getId()); //ok
        order.setUser(dto.getUser()); //ok
        order.setOrderPlaceTime(now()); //ok
        order.setOrderElements(dto.getOrderElements()); <--- this is null, set sets null in order
        return order;
    }

Итак, основные вопросы:

1) Почему это значение равно нулю, хотя оно отправляется с внешнего интерфейса правильно

2) Если есть какой-то конкретный способ, необходимый для анализа массива внутри JSON, как это сделать в этом случае?

Заранее спасибо

1 Ответ

0 голосов
/ 30 июня 2019

как сказал Дж. Б. Низет:

Возможно, потому что ваше свойство JSON называется orderElement, а ваше свойство DTO - orderElements.

изменив "orderElement" на "orderElement s"решил проблему.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...