java类的隐式jsonFormat

时间:2015-02-03 16:45:56

标签: java json scala akka spray

我有一个生成的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的隐式格式?或者我是否需要手动定义编组?

1 个答案:

答案 0 :(得分:3)

Spray的jsonFormatX助手适用于案例类。您可以编写手册格式或使用像Jackson这样面向Java Bean的库。