如何将常规数据帧转换为JSON?

时间:2017-07-21 17:14:29

标签: json r dataframe

我在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等等,我已经用Google搜索了它,也许我只是错过了一个明显的答案。

1 个答案:

答案 0 :(得分:0)

'。' 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/