Простой способ преобразовать объект с переменной-членом String в одну строку в json сериализации (Джексон) - PullRequest
0 голосов
/ 15 января 2019

Существует ли простой / готовый способ преобразовать объект с одной строкой в ​​качестве переменной-члена в одну строку при сериализации на Jackson в JSON формате?

Например, допустим, у меня есть следующий объект

public class ContextAttributeIdentity implements Serializable {

private String attributeName;
//getters setters constructor ommitted
}

Когда объект сериализуется, он дает следующий json

    "contextAttributeIdentity": {
      "attributeName": "age"
    }

Я хотел бы преобразовать его в один объект String при сериализации, как показано ниже:

"attributeName": "age"

Мой сценарий:

public class Context {
  int id;
  List<ContextAttribute> contextattributes
}

public class ContextAttribute{
  ContextAttributeIdentity contextAttributeIdentity;
}

public class ContextAttributeIdentity {
 String attributeName;
}

Когда я сериализую объект Context, он становится в формате json, как это

{ 
  "id": "1",
  "contextAttributes": [
   {
    "contextAttributeIdentity": {
      "attributeName": "name"
    }
   },
   {
    "contextAttributeIdentity": {
      "attributeName": "age"
   }
  }
 ]
}

и мне бы хотелось, чтобы меня так показывали

 { 
      "id": "1",
      "contextAttributes": [
       {
          "attributeName": "name"
       },
       {
          "attributeName": "age"
       }
     ]
    }

1 Ответ

0 голосов
/ 15 января 2019

Если ContextAttributeIdentity является членом какого-либо другого объекта, вы можете пометить его с помощью @JsonUnwrapped, например:

public class SomeClass {
    @JsonUnwrapped
    private ContextAttributeIdentity contextAttributeIdentity;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...