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

如何使用dplyr将JSON数据转换为可解析的表格格式?

问题:将JSON解析为表格形式数据框

我尝试用jsonlite包的fromJSON()函数解析一段JSON代码,但得到的是列表格式,而非预期的表格形式数据框。

原始数据

{
    "PROB": 0.066977381909206,
    "Y": -3.221016563928024,
    "x": 933
}

测试代码及当前输出

library(jsonlite)

jsonStr <- '{
    "PROB": 0.066977381909206,
    "Y": -3.221016563928024,
    "x": 933
}'

t = fromJSON(jsonStr)

> t
$PROB
[1] 0.06697738

$Y
[1] -3.221017

$x
[1] 933

预期输出

PROB         Y   x
1 0.06697738 -3.221017 933

解决方法

只需将fromJSON()返回的列表转换为数据框即可,以下两种方式都能实现需求:

方法1:解析后转换为数据框

library(jsonlite)

jsonStr <- '{
    "PROB": 0.066977381909206,
    "Y": -3.221016563928024,
    "x": 933
}'

# 先解析为列表
result_list <- fromJSON(jsonStr)
# 将列表转换为数据框
result_df <- as.data.frame(result_list)

print(result_df)

输出:

PROB         Y   x
1 0.06697738 -3.221017 933

方法2:直接解析为数据框(一步到位)

给原始JSON外层添加数组括号[],让fromJSON()直接返回数据框:

library(jsonlite)

# 给JSON对象包裹数组括号
jsonStr <- '[{
    "PROB": 0.066977381909206,
    "Y": -3.221016563928024,
    "x": 933
}]'

result_df <- fromJSON(jsonStr)

print(result_df)

输出与方法1一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:45:28