Scala json парсинг удалить внешние кавычки - PullRequest
0 голосов
/ 11 марта 2020

Я использую библиотеку Джексона для разбора json в Scala данные выглядят так:

{"line":"SUK\t172\t7715\t12337429049\t\t7382738\tTRUE\t5\t0\t\n","file":"file1.txt"}, когда я их анализирую:

val text = (parse(jstr) \ "line").extract[String] Я получаю : "SUK\t172\t7715\t12337429049\t\t7382738\tTRUE\t5\t0\t\n" и затем при разбиении на табуляцию первая и последняя кавычка являются частью результата:

field1 = "SUK

fieldn = 0"

Ответы [ 2 ]

1 голос
/ 12 марта 2020

Это должно быть просто и просто text.replace("\"","").

Если вы беспокоитесь о том, что в центре могут быть кавычки, и хотите их сохранить, сделайте это вместо:

def safeDropQuotes(str: String) = if(str.startsWith("\"") && str.endsWith("\"")) str.tail.dropRight(1) else str

По сути, это безопасная версия метода, который написал @Ofek Hod, он не взорвется, если строка будет пустой.

0 голосов
/ 11 марта 2020

Вы можете бросить кавычки с простой функцией:

def dropQuotes(str: String) = {if(Seq(str.head, str.last,'\"').distinct.size == 1) str.tail.dropRight(1) else str}

val text = (parse(jstr) \ "line").extract[String]  
val textNoQuotes = dropQuotes(text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...