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

Scala Circe:如何将List编码为扁平化JSON字符串?

解决Circe生成扁平化JSON字符串的问题

你对asJson方法的作用理解有偏差:

  • asJson返回的是circe库中的Json类型对象,并非直接的JSON字符串。当你直接打印这个对象时,它默认会输出带换行和缩进的格式化JSON(等价于调用spaces2方法)。
  • 要生成扁平化的紧凑JSON字符串,你需要调用Json对象的noSpaces(或compactPrint)方法来得到最终的字符串结果。

示例代码

import io.circe._
import io.circe.syntax._

// 定义目标列表
val nums = List(1, 2, 3)
// 先转为Json对象,再生成扁平化字符串
val flatJson = nums.asJson.noSpaces
// 输出结果:[1,2,3]
println(flatJson)

额外说明

  • 如果你直接执行println(nums.asJson),会触发Json类的默认toString方法,它内部调用的是spaces2,所以会输出格式化后的JSON:
    [
      1,
      2,
      3
    ]
    
  • noSpaces和compactPrint是完全等价的方法,任选其一即可生成无空格、无换行的紧凑JSON字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 13:34:52