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

如何用jsonlite::toJSON将数据框转为Orbitly API要求的嵌套JSON格式

嵌套JSON格式转换实现方案

不需要手动拼接字符串,只需先构造与目标JSON结构对应的R列表对象,再调用jsonlite::toJSON即可生成符合要求的格式,具体实现代码如下:

library(jsonlite)
library(purrr)

# 构造符合API要求的R对象
api_payload <- list(
  requests = pmap(df, function(...) {
    # 过滤当前行的NA值
    row_fields <- list(...) %>% discard(is.na)
    # 每个字段值转为列表,保证JSON序列化后为数组格式
    row_fields <- lapply(row_fields, function(x) list(x))
    # 套params层级
    return(list(params = row_fields))
  }),
  required = "profiles.network:linkedin AND (phone_numbers OR emails)"
)

# 序列化为JSON
result_json <- toJSON(api_payload, pretty = TRUE)

逻辑说明

  • 用pmap遍历数据框每一行,按需保留非空字段,自动适配单字段/多字段行的结构
  • 手动将字段值包裹为列表,避免JSON序列化时单值被转为字符串而非数组
  • 整体结构完全匹配API要求,无需额外调整字符串格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:06:01