Scala:将案例类序列化为JSON,备用名称 [英] Scala: serialize case class to JSON , alternate names
本文介绍了Scala:将案例类序列化为JSON,备用名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
将Scala case类序列化为JSON并能够提供自定义序列化名称的任何方法吗?
Any way to serialize a Scala case class to JSON and have the ability to provide custom serialized names ?
例如,在Java中,可以使用Gson库完成此操作:
For example, In Java this can be done using the Gson library :
public class SomeClassWithFields {
@SerializedName("name") private final String someField;
private final String someOtherField;
public SomeClassWithFields(String a, String b) {
this.someField = a;
this.someOtherField = b;
}
}
我尝试在Scala中这样做:
I tried doing this in Scala :
案例类SomeClassWithFields(@SerializedName("name")someField:String)
case class SomeClassWithFields(@SerializedName("name") someField:String)
但似乎没有效果.
有什么想法吗?
推荐答案
You can do it with spray-json calling the jsonFormat overloads.
这是您的示例的工作方式:
Here's how it would work with your example:
import spray.json._
case class SomeClassWithFields( someField:String)
object SomeClassJsonProtocol extends DefaultJsonProtocol {
implicit val someClassFormat = jsonFormat(SomeClassWithFields,"name")
}
这篇关于Scala:将案例类序列化为JSON,备用名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文