我有一个名为CreditCardResource
的接口,我想从中生成一个json。
public interface CreditCardResource {
....
}
我尝试使用podam和gson为CreditCardResouce.class
生成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?
答案 0 :(得分:1)
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);
}
}