为什么在解析后无法将字符串转换回json

时间:2017-05-01 22:54:37

标签: scala scala.js upickle

假设我定义了以下案例类:

case class A(i: Int)
case class B(str: String)
case class T(a: A, b: B)

然后我转换为json,解析并尝试再次转换,如下所示:

val json = write(T(A(1), B("One")))
val parsed = JSON.parse(json).asInstanceOf[js.Dictionary[js.Any]].toMap
println("Json: " + json)
parsed.foreach { case (k, v) =>
    println(s"$k: ${v.toString}")
    println("Stringify: " + JSON.stringify(v, js.Array[js.Any]()))
}

我得到以下输出:

  

Json:{“a”:{“i”:1},“b”:{“str”:“One”}}

     

a:[object Object]

     

Stringify:{}

     

b:[object Object]

     

Stringify:{}

为什么toString和stringify都没有正确地将对象转换回json?

1 个答案:

答案 0 :(得分:0)

问题是为stringify的replacer参数传递一个空数组。这应为null