我正在编写一个需要解析客户端上传的JSON字符串的服务器。目前我正在使用Play JSON lib。例如:
import play.api.libs.json._
def parseJSON(jsonString: String) = {
val jsv = Json.parse(jsonString)
jsv
}
考虑到客户上传了一个JOSN字符串{"key1": 1}
。在服务器收到整个字符串之后,只需简单地调用parseJSON
method,一切都将完成。
但是,如果客户端上传了两个JSON字符串,{"key2": 2}
和{"key3": 3}
,并且由于网络不良,这两个JSON字符串会同时到达服务器。服务器将获得一长串{"key2": 2}{"key3": 3}
(服务器在解析之前无法知道它包含两个JSON字符串)。如果我调用parseJSON
方法并传递整个字符串,则只返回第一个JSON值{"key2": 2}
。第二个{"key3": 3}
将被忽略。
那么,我该如何解析第二个JSON字符串呢?有没有办法知道解析第一个JSON字符串时使用了多少个字符?
val jsonString2 = """{
"key1": 1,
"key2": 2
}
{
"key3": 3,
"""
我认为这不是有效的JSON值,请尽可能让您的问题更清晰,以便我们可以帮助:)