将字节数组高效解析为 Json 对象

Efficient parsing of Byte Array to Json Object

假设我有一个 json 格式的字节数组(例如,“{"key":"a0998df", "someVal":45}"),我想将它转换为 json 对象。最简单的事情(使用 play-json 库)是这样的:

val byteArr = ....
val str = new String(byteArr)
val jsObject = Json.parse(str).as[JsObject]

但我在想是否有更快的方法直接从字节数组中获取 json 对象而无需首先创建整个消息的 String 对象(无论是在 Java 还是 Scala 中) .提前致谢!

Json.parse方法重载了,可以直接将字节数组传进去:

val byteArr = ....
val jsObject = Json.parse(byteArr).as[JsObject]

https://www.playframework.com/documentation/2.8.x/api/scala/play/api/libs/json/Json$.html#parse(input:Array[Byte]):play.api.libs.json.JsValue