Как получить String без дополнительных кавычек из Spray JSON [duplicate]

Проверьте правильность пути к вашей библиотеке или нет. Конечно, вы можете использовать следующий код для проверки пути к пути к вашей библиотеке: System.out.println(System.getProperty("java.library.path"));

Вы можете назначить java.library.path при запуске приложения Java:

java -Djava.library.path=path ...
6
задан Ben Schmidt 6 December 2013 в 17:26
поделиться

3 ответа

В новой версии есть небольшая разница:

libraryDependencies ++ = "io.spray"% "spray-json_2.12"% "1.3.3"

import spray.json.DefaultJsonProtocol._
import spray.json._

object SprayJson extends ExampleBase {

  private def jsonValue(): Map[String, String] = {
    val x1 = """ {"key1": "value1", "key2": 4} """

    val json = x1.parseJson
    println(json.prettyPrint)

    json.convertTo[Map[String, JsValue]].map(v =>
      (v._1, v._2 match {
        case s: JsString => s.value
        case o => o.toString()
      }))
  }

  override def runAll(): Unit = {
    println(jsonValue())
  }
}

Выход:

{
  "key1": "value1",
  "key2": 4
}
Map(key1 -> value1, key2 -> 4)

1
ответ дан Cubean 22 August 2018 в 11:42
поделиться

Я столкнулся с такой же проблемой. Копаясь в исходном коде, они используют compactPrint, который кажется прекрасным. Я не знаю, в какой момент это происходит с кавычками

0
ответ дан dvliman 22 August 2018 в 11:42
поделиться

Попробуйте следующее:

import spray.json._
import DefaultJsonProtocol._
val jsString = new JsString("hello")
val string = jsString.convertTo[String]
11
ответ дан rkrzr 22 August 2018 в 11:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: