преобразование одной структуры JSON в другую структуру JSON - PullRequest
0 голосов
/ 12 сентября 2018

На стороне клиента ожидается строка JSON в следующем формате

descriptions": [
      {
        "lang": "string",
        "size": "string",
        "text": "string",
        "type": "string"
      }
    ],

, но полученный JSON немного отличается - как показано ниже

"descriptions":{
  "desc":[
{
      "size":string,
      "lang":"string",
      "type":"string",
      "content":"string"
    }
  ]
},

В любом случае можно игнорировать "desc "часть - например.используя аннотацию JSON?Контекст: я передаю этот JSON через вызов REST API, и он автоматически преобразуется в объект Java на принимающей стороне.

Ответы [ 4 ]

0 голосов
/ 12 сентября 2018

Если вы используете Gson, можно использовать пользовательский JsonDeserializer / JsonSerializer для вашей модели Java. Ваш объект модели и API могут быть реализованы без необходимости иметь дело с различными структурами json.

0 голосов
/ 12 сентября 2018

Вы просто строите нужный вам объект:

var clientDescriptions = descriptions.desc.map(function(d) {
   size: d.size,
   type: d.type,
   lang: d.lang,
   content: d.text
});
0 голосов
/ 12 сентября 2018

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

0 голосов
/ 12 сентября 2018

Простое

descriptions = descriptions.desc;

подойдет.

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