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

如何用R语言导出不含外层方括号的JSON文件?

解决方法

要直接导出不含外层方括号的JSON对象,无需额外步骤,只需在jsonlite::write_json中添加参数,或转换数据结构即可实现:

方法1:添加auto_unbox = TRUE参数

df <- data.frame(
  Name = c("John"),
  Phone = c("123-456-7890")
)
jsonlite::write_json(df, 'test.json', pretty = TRUE, auto_unbox = TRUE)

方法2:将数据框转为列表后导出

df <- data.frame(
  Name = c("John"),
  Phone = c("123-456-7890")
)
jsonlite::write_json(as.list(df), 'test.json', pretty = TRUE)

两种方式都能生成你期望的格式:

{
    "Name": "John",
    "Phone": "123-456-7890"
}

原因说明

  • 数据框在jsonlite中默认被序列化为JSON数组(外层带方括号),因为它本质是多行数据的集合。
  • auto_unbox = TRUE会自动将长度为1的向量"拆箱",把单一行的数据框转为单个JSON对象。
  • 将数据框转为列表后,jsonlite会直接把列表序列化为JSON对象,而非数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:22:02