我想更新json字符串中存在的某些字段,并且在scala中使用play框架。但是当我更新json时,引入了几个转义字符串字符。并且我不希望在json转换后使用这些字符。一些代码示例。
val jsonStringAsJsValue = Json.toJson("""{"counter_holders": {"Peter": 25}}""")
//play.api.libs.json.JsValue = "{\"counter_holders\": {\"Peter\": 25}}"
val jsonTransformer = (__ \"counter_holders" ).json.put(Json.toJson("""{"*****":25}"""))
//JsObject
jsonStringAsJsValue .transform(jsonTransformer).get.as[JsValue]
//Now getting the below string
//{"counter_holders":"{\"*****\":25}"}
//But I need this string
//{"counter_holders":"{"*****":25}"}
我要么将结果值转换为JSvalue要么引入了JSString转义字符,对此的任何帮助都将非常好。
Json.toJson
用于将字符串转换为json值-json编码的字符串。您不想要那样,您想将字符串解析为json。为此,使用Json.parse
你最终会得到
val jsonStringAsJsValue = Json.parse("""{"counter_holders": {"Peter": 25}}""")
val jsonTransformer = (__ \"counter_holders" ).json.put(Json.parse("""{"*****":25}"""))
jsonStringAsJsValue.transform(jsonTransformer).get.as[JsValue]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句