【问题标题】:Deserialize multi JSON string with Play JSON library使用 Play JSON 库反序列化多 JSON 字符串
【发布时间】:2019-07-09 14:17:43
【问题描述】:

我正在编写一个需要解析客户端上传的 JSON 字符串的服务器。目前我正在使用 Play JSON lib。例如:

import play.api.libs.json._

def parseJSON(jsonString: String) = {
    val jsv = Json.parse(jsonString)
    jsv
}

考虑到客户端上传了{"key1": 1} 的JOSN 字符串。服务端收到整个字符串后,只需简单调用parseJSON方法,一切就搞定了。

但是,如果客户端上传了两个 JSON 字符串,{"key2": 2}{"key3": 3},由于网络不好,这两个 JSON 字符串同时到达服务器。服务端会得到一长串{"key2": 2}{"key3": 3}(服务端在解析前无法知道其中包含两个JSON字符串)。如果我调用 parseJSON 方法并传递整个字符串,则只会返回第一个 JSON 值 {"key2": 2}。第二个{"key3": 3} 将被忽略。

那么,如何解析第二个 JSON 字符串?有没有办法知道解析第一个 JSON 字符串时使用了多少个字符?

【问题讨论】:

标签: json scala web playback


【解决方案1】:
val jsonString2 = """{
    "key1": 1,
    "key2": 2
    }
    {
    "key3": 3,
 """

我认为这不是有效的 JSON 值,请让您的问题尽可能清晰,以便我们提供帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2013-05-07
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多