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

如何用Play Framework JSON库提取无键JSON数组指定元素

使用Play Framework JSON库解析JSON数组获取指定元素

Play Framework的JSON库支持直接对JSON数组进行索引访问,步骤如下:

  • 先将JSON字符串解析为JsValue对象
  • 通过模式匹配判断是否为JsArray,再通过索引(从0开始)获取目标元素
  • 校验元素类型为JsString后提取具体值

代码示例:

import play.api.libs.json._

// 待解析的JSON字符串
val rawJson = """[2, "19223201", "BootNotification", {"reason": "PowerUp", "chargingStation": {"model": "SingleSocketCharger", "vendorName": "VendorX"}}]"""

// 解析JSON
val jsonValue = Json.parse(rawJson)

// 提取第三个元素(索引为2)
val targetValue = jsonValue match {
  case JsArray(elements) if elements.length >= 3 =>
    elements(2) match {
      case JsString(content) => Some(content)
      case _ => None // 处理非字符串类型的情况
    }
  case _ => None // 处理非数组或元素数量不足的情况
}

// 输出结果
targetValue.foreach(println) // 控制台会打印 "BootNotification"

说明:

  • JsArray内部维护了一个元素序列,直接通过索引即可定位元素,无需依赖键路径
  • 加入模式匹配的类型校验,能避免因JSON结构异常导致的运行时错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:30:41