我有一个生成的java类:
package cc.notsoclever.customerservice
public class Customer {
protected String name;
public String getName() {
return name;
}
public void setName(String value) {
this.name = value;
}
}
(从WSDL生成以提供SOAP接口,但没关系)
我想连接到JSON接口,所以我需要一个隐式的jsonFormat - 我已经尝试过了:
package cc.notsoclever.customerservice
object CustomerProtocol {
import spray.json._, spray.json.DefaultJsonProtocol._
object Customer {
implicit val format = jsonFormat(Customer.apply, "name")
}
}
但它导致了一个错误:
...value apply is not a member of object cc.notsoclever.customerservice.CustomerProtocol.Customer
[error] Note: implicit value format is not applicable here because it comes after the application point and it lacks an explicit result type
[error] implicit val format = jsonFormat(Customer.apply, "name")
[error] ^
是否可以定义使用公共getter和setter的隐式格式?或者我是否需要手动定义编组?
答案 0 :(得分:3)
Spray的jsonFormatX助手适用于案例类。您可以编写手册格式或使用像Jackson这样面向Java Bean的库。