не может сериализовать интерфейсный объект в json, используя jakson - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь преобразовать Java-объект в JSON согласно объявленному шаблону API, используя jakson.но я не мог понять это.как мне это сделать?

Вот мои классы

ProcessValueBaseDto

package com.ir.tsn;
public class ProcessValueBaseDto implements Serializable {

private String id;
private ProcessValue value;

}
//methods Ommited

ProcessValue

package com.ir.tsn;
public interface ProcessValue<T> extends Serializable {

void setValues(T values);

}
//methods Ommited

ProcessValueDto

package com.ir.tsn;
public class ProcessValueDto implements 
ProcessValue<List<String>> {

private List<String> values;

}
//methods Ommited

ожидаемый JSON должен быть таким

{
   "id": "id1",
   "value": {
          "com.alz.ProcessValueDto": {
            "values": [
              "500000000"
            ]
          }
   }
}

com.alz.ProcessValueDto - это имя одной из ProcessValue.class реализаций в API

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

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Вы можете использовать указанный ниже класс для данного JSON.

public class MyValue
{
    public List<string> values { get; set; }
}

public class Value
{
    public MyValue MyValue { get; set; }
}

public class RootObject
{
    public string id { get; set; }
    public Value value { get; set; }
}
0 голосов
/ 03 июля 2019

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

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