java - 如何将 play.api.libs.json.JsValue 转换为 org.json.JSONObject

标签 java json scala playframework play-json

如何将 play jsObject 转换为 JSONObject?

示例:

val samplePlayJson = Json.obj(
  "name" -> "Watership Down",
  "location" -> Json.obj("lat" -> 51.235685, "long" -> -1.309197),
  "residents" -> Json.arr(
    Json.obj(
      "name" -> "Fiver",
      "age" -> 4,
      "role" -> JsNull
    ),
    Json.obj(
      "name" -> "Bigwig",
      "age" -> 6,
      "role" -> "Owsla"
    )
  )
)

当我厌倦将上面的 samplePlayJson 传递给接受 JSONObject 的 Java api 时,我遇到了类型不匹配错误

type mismatch;
 found   : play.api.libs.json.JsObject
 required: org.json.JSONObject

如何将上面的samplePlayJson转换为org.json.JSONObject

最佳答案

您可以将 play.api.libs.json.JsObject 转换为字符串,并从中创建 org.json.JSONObject 。我没有找到任何直接的方法来做到这一点。

new JSONObject(samplePlayJson.toString())

关于java - 如何将 play.api.libs.json.JsValue 转换为 org.json.JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55738511/

相关文章:

scala - 按名称激活惰性变量

scala - 在 Scala 中使用自定义相等关系在不可变列表上调用 distinct

java - 在 Java 中动态转换为原语

java - 如何使用java api像jdbc一样直接发送hbase shell命令?

javascript - 如何使用节点和父数据值设置基于 JSON 的树

python - 将 pandas df 映射到 JSON 模式

scala - 值 mkString 不是 org.apache.spark.rdd.RDD[Int] 的值

java - eclipse BigInteger 编译问题

java - 最大增量以保持城市天际线

iphone - 当父键未知时在嵌套的 NSDictionary 中查找对象?