You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Scala与circe中检测Json是否为字符串字面量?

Circe中检测Json是否为字符串字面量的方法
  • 调用内置isString方法:circe的Json类自带类型判断方法,直接调用即可快速判断是否为字符串字面量
val isXString = x.isString // 返回true
val isYString = y.isString // 返回false
  • 模式匹配识别类型:利用circe的ADT设计,通过模式匹配精准匹配字符串类型的Json值,还能同时提取字符串内容
def isJsonString(json: Json): Boolean = json match {
  case Json.Str(_) => true
  case _ => false
}

// 调用示例
isJsonString(x) // true
isJsonString(y) // false
  • 尝试解码验证:如果需要同时验证并获取字符串内容,可以用as[String]方法,通过返回的Either结果判断是否为有效字符串
val isXString = x.as[String].isRight // true
val isYString = y.as[String].isRight // false

内容的提问来源于stack exchange,提问作者outlaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:42:10