2017-04-20 5 views
0

は、私は文字列があります。Scala、PlayFramework - Jsonに変換中に自動エスケープ文字を避けるには?

val x = """{foo:"value1", bar:"value2"}""" 

を、私はJsStringに変換します。今

val converted = JsString(x) 

私はconvertedを印刷する場合、次の結果が印刷され、:

"{foo:\"value1\", bar:\"value2\"}" 

しかし、私は\は、文字列に追加したくありません。 string.replaceを使わずにこの自動エスケープを避ける方法はありますか?

答えて

1

println(JsString("""{foo:"value1", bar:"value2"}""").value) 
1
"{foo:"value1", bar:"value2"}" 

を試してみては引用符がJsStringによってエスケープされている理由です、有効なJSONではありません。実際には、内部引用符がエスケープされない場合、JSONパーサーはこれをどのように解釈しますか?

JSONオブジェクトを内部に持つ(JVM)Stringにしたい場合は、すでにそれがあります。 JSONオブジェクトを表すJSON文字列が必要な場合は、エスケープ文字を使用する必要があります。

あなたはJSONオブジェクトをしたい場合、あなたは常に

val obj: JsValue = Json.parse("""{foo:"value1", bar:"value2"}""") 
を使用することができます
関連する問題