如何支持使用Json4s进行开放式解析/解析到中间?

问题描述 投票:0回答:1

我有一个包含JSON数据的字符串,后跟其他类型的字符串,例如:

{
  "a": 1
}
bcde

我需要使用Json4s(基于Scala的json解析器)将其解析为2部分:JSON AST和字符串“ bcde”的其余部分,解析器在遇到最后一个括号时应该能够“尽早停止” 。是否支持此功能?我应该怎么做才能调用它?

json scala json4s
1个回答
0
投票
invalid json数据。尽管通过简单的

substring调用很容易达到相同的目的,如下所示:

import org.json4s._ import org.json4s.jackson.JsonMethods._ val data = """{"a": 1}bcde""" // the last } is considered the end of the json data val lastIndex = data.lastIndexOf("}") val jsonData = data.substring(0, lastIndex + 1) val nonJsonData = data.substring(lastIndex + 1) val parsed = parse(jsonData) // lastIndex: Int =7 // jsonData: String = {"a": 1} // nonJsonData: String = bcde // parsed: org.json4s.JValue = JObject(List((a,JInt(1))))
© www.soinside.com 2019 - 2024. All rights reserved.