Десериализовать несколько строк JSON с помощью библиотеки Play JSON - PullRequest
0 голосов
/ 15 февраля 2019

Я пишу сервер, который должен анализировать строки JSON, загруженные клиентами.В настоящее время я использую Play JSON lib.Например:

import play.api.libs.json._

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

Учитывая, что клиент загрузил строку JOSN {"key1": 1}.После того, как сервер получил всю строку, просто вызовите метод parseJSON, все будет сделано.

Однако, если клиент загрузил две строки JSON, {"key2": 2} и {"key3": 3}, и из-заВ плохой сети эти две строки JSON достигают сервера одновременно.Сервер получит длинную строку {"key2": 2}{"key3": 3} (сервер не может знать, что он содержит две строки JSON перед анализом).если я вызову метод parseJSON и передам всю строку, будет возвращено только первое значение JSON {"key2": 2}.Второй {"key3": 3} будет игнорироваться.

Итак, как мне разобрать вторую строку JSON?Есть ли способ узнать, сколько символов используется при разборе первой строки JSON?

1 Ответ

0 голосов
/ 15 февраля 2019
val jsonString2 = """{
    "key1": 1,
    "key2": 2
    }
    {
    "key3": 3,
 """

Я думаю, что это недопустимое значение JSON, пожалуйста, сделайте ваш вопрос как можно чище, чтобы мы могли помочь :)

...