Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在数据帧列上使用fromJSON解析JSON?_Json_R_Rjson - Fatal编程技术网

如何在数据帧列上使用fromJSON解析JSON?

如何在数据帧列上使用fromJSON解析JSON?,json,r,rjson,Json,R,Rjson,我有以下data.frame,其中一列名为“json”,两行是json数据: df <- data.frame(json = c('{"client":"ABC Company","totalUSD":7110.0000,"durationDays":731,"familySize":4,"assignmentType":"Long Term","homeLocation":"Australia","hostLocation":"United States","serviceName":"

我有以下data.frame,其中一列名为“json”,两行是json数据:

df <- data.frame(json = c('{"client":"ABC Company","totalUSD":7110.0000,"durationDays":731,"familySize":4,"assignmentType":"Long Term","homeLocation":"Australia","hostLocation":"United States","serviceName":"Service ABC","homeLocationGeoLat":-25.274398,"homeLocationGeoLng":133.775136,"hostLocationGeoLat":37.09024,"hostLocationGeoLng":-95.712891}', '{"client":"ABC Company","totalUSD":7110.0000,"durationDays":731,"familySize":4,"assignmentType":"Long Term","homeLocation":"Australia","hostLocation":"United States","serviceName":"Service XYZ","homeLocationGeoLat":-25.274398,"homeLocationGeoLng":133.775136,"hostLocationGeoLat":37.09024,"hostLocationGeoLng":-95.712891}'))

df$json final您可能希望从本练习中得到一个结果数据帧,因此:

do.call(rbind.data.frame, lapply(df$json, rjson::fromJSON))

##         client totalUSD durationDays familySize assignmentType homeLocation  hostLocation serviceName homeLocationGeoLat
## 2  ABC Company     7110          731          4      Long Term    Australia United States Service ABC           -25.2744
## 21 ABC Company     7110          731          4      Long Term    Australia United States Service XYZ           -25.2744
##    homeLocationGeoLng hostLocationGeoLat hostLocationGeoLng
## 2            133.7751           37.09024          -95.71289
## 21           133.7751           37.09024          -95.71289
完全相同的结果将来自:

do.call(rbind.data.frame, lapply(df$json, jsonlite::fromJSON))
do.call(rbind.data.frame, lapply(df$json, RJSONIO::fromJSON))

您可能希望从本练习中得到一个结果数据帧,因此:

do.call(rbind.data.frame, lapply(df$json, rjson::fromJSON))

##         client totalUSD durationDays familySize assignmentType homeLocation  hostLocation serviceName homeLocationGeoLat
## 2  ABC Company     7110          731          4      Long Term    Australia United States Service ABC           -25.2744
## 21 ABC Company     7110          731          4      Long Term    Australia United States Service XYZ           -25.2744
##    homeLocationGeoLng hostLocationGeoLat hostLocationGeoLng
## 2            133.7751           37.09024          -95.71289
## 21           133.7751           37.09024          -95.71289
完全相同的结果将来自:

do.call(rbind.data.frame, lapply(df$json, jsonlite::fromJSON))
do.call(rbind.data.frame, lapply(df$json, RJSONIO::fromJSON))

loadNamespace(名称)中出错:没有名为“rjson”的包。您安装了它吗?只是编写库(rjson)不起作用。install.packages('rjson')现在可以工作了。谢谢:)我想你可能需要学习一下R和SO礼仪。是的!我正在努力:))loadNamespace(名称)中的错误:没有名为“rjson”的包。嗯,您安装了它吗?只是编写库(rjson)不起作用。install.packages('rjson')现在可以工作了。谢谢:)我想你可能需要学习一下R和SO礼仪。是的!我正在努力:))