r语言 - 如何将常规数据帧转换为 JSON?



我在 Stack 上看到了不同的转换,但没有一个有我需要的结果。我有一个从 Excel 文件导入、操作并想要导出为 JSON 文件的数据框。我试过这个:

exportJson <- toJSON(data)
print(exportJson)
write(exportJson, "test.json")
json_data <- fromJSON(file="test.json")

我的数据如下所示:

Jill Jimmie Alex Jane 
Jill Jill    0   Jill  Jill  
Jimmie 0  Jimmie Jimmie 0   
Alex   0   Alex  Alex   0   
Jane Jane  Jane  Jane   0  

我的输出如下所示:

{
"Jill": ["Jill",
"0",
"0",
"Jane",
"0",
"0",
"0",
"0",
"0",
"0",
...

当我需要它看起来像这种格式时:

{
"nodes": [ 
{ 
"id": "id1",
"name": "Jill",
"val": 1 
},
{ 
"id": "id2",
"name": "Jill",
"val": 10 
},
(...)
],
"links": [
{
"source": "id1",
"target": "id2"
},
(...)
]
}

我已经看到了将JSON转换为数据帧的方法,我知道RJSONIOjsonliterjson等,我已经用谷歌搜索了一下,也许我只是错过了一个明显的答案。

jq中的"."命令将重新格式化 JSON 数据。使用 jqr 包:

library(jqr)
# Unformatted (no whitespace)
x <- '{"a":1,"b":2,"c":[1,2,3],"d":{"e":1,"f":2}}'  
jq(x, '.')

输出重新格式化(带空格(

{
"a": 1,
"b": 2,
"c": [
1,
2,
3
],
"d": {
"e": 1,
"f": 2
}
}

jq也可以作为独立实用程序使用:https://stedolan.github.io/jq/

最新更新