使用 json4s 将 scala 对象转换为 json

convert scala object to json using json4s

我有一个普通的 scala class 不是一个案例 class 有很多成员变量,包括缓冲区,列表等

我想覆盖 class 的 toString 方法以提供一个 json 字符串,就像 javascript 的 json.stringify() 一样。

json4s 可以吗?因为到目前为止我看到的唯一例子是 case classes.

如果可能,对于空列表的成员变量会发生什么情况?

我认为我不能使用 case classes,因为我使用方法对成员变量执行了很多状态更改操作。我记得在某些地方读过如果我想要可变成员就不要使用 case classes。

谢谢,

您可以为您的 class 制作自定义序列化程序,如下所述:https://github.com/json4s/json4s#serializing-non-supported-types

除非你真的需要它,否则我不建议将它作为你 toString 的一部分;我宁愿建议让一些其他对象执行转换,因为它会使事情更整洁,更容易管理。