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

如何将解析为JSON字符串的Clojure向量元素逐行打印到控制台

问题原因

你当前的写法是将处理后得到的整个向量一次性传入cheshire/generate-string,所以生成的是完整的JSON数组字符串,输出自然是带外层方括号的数组结构。你之前尝试apply println出错的原因是:cheshire/generate-string返回的是单个字符串,apply会把字符串拆为单个字符的序列传入println,最终导致每个字符单独占一行。

解决方案

修改-main函数,遍历处理后的每个元素,单独转为JSON字符串后打印即可,修改后的代码如下:

(defn -main
  [& args]
  (doseq [item (-> args first read-input! input-received)]
    (println (cheshire/generate-string item))))

doseq专门用于执行带副作用的遍历操作,这里会逐个取出处理后的数据元素,依次转为JSON字符串并打印,最终输出的就是每个JSON对象单独占一行的效果,和你的预期完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:27:02