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

Scala中JSON数组的.get(0)、.get(1)方法含义与返回值解析

Scala JSON数组get方法含义及示例代码解析

.get(0)、.get(1)的含义

Scala生态常用JSON库(如json4s、fastjson Scala版等)的JSONArray类下标从0开始计数,.get(index)作用是根据下标取出数组对应位置的元素:

  • .get(0)代表取JSON数组的第一个元素
  • .get(1)代表取JSON数组的第二个元素

如果传入的下标超过数组实际长度,通常会抛出数组越界异常。

示例代码变量解析

首先假设原board变量对应的JSON结构如下(和代码里的类型转换逻辑匹配,否则会抛出转换异常):

[
  ["张明", true],
  "2024年上半年项目验收看板"
]

各变量的含义和对应输出如下:

val boardArray = board.asInstanceOf[JSONArray]
  • 含义:将board强制转换为JSONArray类型
  • 输出:[["张明",true],"2024年上半年项目验收看板"]

val nameAndResult = boardArray.get(0).asInstanceOf[JSONArray]
  • 含义:取boardArray的第一个元素,再强制转换为JSONArray类型
  • 输出:["张明", true]

val boardAsString = boardArray.get(1).asInstanceOf[String]
  • 含义:取boardArray的第二个元素,强制转换为字符串类型
  • 输出:"2024年上半年项目验收看板"

val name = nameAndResult.get(0).asInstanceOf[String]
  • 含义:取nameAndResult数组的第一个元素,强制转换为字符串类型
  • 输出:"张明"

val result = nameAndResult.get(1).asInstanceOf[Boolean]
  • 含义:取nameAndResult数组的第二个元素,强制转换为布尔类型
  • 输出:true

注意:代码中直接用asInstanceOf做强制类型转换属于不安全写法,如果实际JSON结构和预期不符会直接抛出异常,生产环境建议使用带类型校验的安全取值API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:15:03