1

我有一个名为的接口CreditCardResource,我想从中生成一个 json。

public interface CreditCardResource {
    ....
}

我尝试CreditCardResouce.class使用 podam 和 gson 生成 json。

Podam 产生如下错误:

PodamFactoryImpl [WARN] Cannot instantiate an interface or abstract class. Returning null.

使用 Gson,我收到以下错误:

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class

是否可以转换CreditCardResource.class为json?

4

1 回答 1

3

json 是一种特殊类型的结构化字符串,可用于(除其他外)表示 POJO 的状态。接口只是一个合同,因此将其转换为 JSON 并没有什么意义。您可能想要做的是在接口中定义一个方法,该方法返回使用该接口创建的具体对象的 JSON 表示。类似于(使用 Gson):

public interface Something {
    String toJson();
}

现在,任何实现类都需要实现此方法,如下所示:

public class SomethingImpl implements Something {
   public String toJson() {
       Gson gson = new Gson();
       return gson.toJson(this);
   }
}
于 2014-03-26T08:26:40.703 回答