- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在这里找到一些帮助来应用 DefaultJsonProtocol 的 JsonFormat 扩展
到包含对象序列的类。
所以对于类(class):
class Person(val name: String, [......], val adresses: Seq[Adress])
class Adress(val streetname: String, val plz: BigDecimal, val city: String)
object PersonJsonProtocol extends DefaultJsonProtocol {
implicit object PersonJsonFormat extends RootJsonFormat[Person] {
def write(pers: Person) = JsObject(
"name" -> JsString(pers.name),
[......],
"adresses" -> JsArray(pers.adresses)
)
def read(value: JsValue) = {...}
}
最佳答案
查看 spray.json.CollectionFormats
的来源。
这是一个可运行的实现:
import spray.json._
class Adress(val streetname: String, val plz: BigDecimal, val city: String)
class Person(val name: String, val adresses: Seq[Adress])
object PersonJsonProtocol extends DefaultJsonProtocol {
implicit object AdressJsonFormat extends RootJsonFormat[Adress] {
def write(addr: Adress) = JsObject(Map(
"streetname" -> JsString(addr.streetname),
"plz" -> JsNumber(addr.plz),
"city" -> JsString(addr.city)
))
def read(value: JsValue): Adress = ???
}
implicit object PersonJsonFormat extends RootJsonFormat[Person] {
def write(pers: Person) = JsObject(Map(
"name" -> JsString(pers.name),
"adresses" -> JsArray(pers.adresses.map(_.toJson).toList)
))
def read(value: JsValue): Person = ???
}
}
object Main extends App {
import PersonJsonProtocol._
val person = new Person("joe", Seq(new Adress("street", 123, "city")))
println("poso's default toString: %s".format(person))
val personJVal = person.toJson
println("JValue's toString: %s".format(personJVal))
val personJson = personJVal.prettyPrint
println("pretty-printing: %s".format(personJson))
}
poso's default toString: Person@680ccad
JValue's toString: {"name":"joe","adresses":[{"streetname":"street","plz":123,"city":"city"}]}
pretty-printing: {
"name": "joe",
"adresses": [{
"streetname": "street",
"plz": 123,
"city": "city"
}]
}
关于json - 为对象序列提供 JsonFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21756836/
我的代码是: final String json = getObjectMapper().writeValueAsString(JsonView.with(graph) .onClas
我的应用程序无法格式化日期输入。我正在使用 com.fasterxml.jackson.annotation.JsonFormat Json 输入: "startDate": "2019-08-07"
我有一个自定义对象: public class Response { @JsonProperty("values") private List values; @JsonFor
目录 @JsonFormat 日期格式自动格式化 例如,某个类里面有个属性 @JsonFormat时间格式化注解使用
如何为引用自身的案例类提供 JsonFormats? 我正在关注 this 指南并编写了以下代码 case class Item(name: String, desc: Option[String],
我试图在这里找到一些帮助来应用 DefaultJsonProtocol 的 JsonFormat 扩展 到包含对象序列的类。 所以对于类(class): class Person(val name:
我有一个只有一个字段的类: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", t
我正在尝试为抽象类编写一个 JsonFormat,它的通用参数看起来像这样: abstract class Animal[A] { def data: A def otherStuff
我有一些特殊的业务,需要一个自定义序列化器,它在修改 DictAnnotation 注释的字段中添加一个字段,它可以工作。 但 @JsonFormat 不起作用。我的 createTime 字段曾经是
我有一个包含可变参数的案例类,其隐式 jsonFormat 如下: import spray.json._ case class Colors(name: String*) object MyJson
我有一个非常简单的 bean: public class StatusBean { private String name; @JsonFormat(shape=JsonFormat.Shape.
我有一个简单的 POJO,带有一个带有初始值的 Date 字段: 1985-09-17T01:00:00.000+0400 然后这个日期值被映射到带有注释的日期字段的 DTO: @JsonFormat
我通过这篇文章学习了如何一起使用 Json 和 java.util.Optional: https://medium.com/@harittweets/how-to-use-java-util-opt
今天在线上发现一个问题,在使用Jackson进行时间的反序列化时,配置的 @JsonFormat 没有生效 查看源码发现,Jackson在反序列化时间时,会判断json字段值类型,如下: 由
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd'T'HH:mm:ss.SSS") 是否可以用模式编写正则表达式?我不
我有一个来自 JSON 有效负载的值: "callStartTime" : "2019-03-27 13:00:00" 实体.java @JsonProperty("callStartTime") @
我在我的项目中使用了 Spring Date Rest 和 Spring Boot。 这个项目有一个对象,我使用了 @JsonFormat 注释来格式化将从我的 Json 接收到的日期字段。 字段日期
我有一个生成的java类: package cc.notsoclever.customerservice public class Customer { protected String name
我有一个用秒部分定义的字段(即:“ss”),如下所示 @JsonProperty("date") @JsonFormat(shape = JsonFormat.Shape.STRING, patter
我有一个通用表单字段类 public class FormField { private T value; private boolean disabled; // setters
我是一名优秀的程序员,十分优秀!