Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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
在R中加载和转换json文件_Json_R_Matrix_Dataframe - Fatal编程技术网

在R中加载和转换json文件

在R中加载和转换json文件,json,r,matrix,dataframe,Json,R,Matrix,Dataframe,我有一个.json文件,我需要将其加载到R中,并在将其转换为数据帧后使用它执行进一步的操作。我的json文件的首字母如下所示: {"_id":{"$oid":"57a30ce268fd0809ec4d194f"},"session":{"start_timestamp":{"$numberLong":"1470183490481"},"session_id":"def5faa9-20160803-001810481"},"metrics":{},"arrival_timestamp":{"$nu

我有一个.json文件,我需要将其加载到R中,并在将其转换为数据帧后使用它执行进一步的操作。我的json文件的首字母如下所示:

{"_id":{"$oid":"57a30ce268fd0809ec4d194f"},"session":{"start_timestamp":{"$numberLong":"1470183490481"},"session_id":"def5faa9-20160803-001810481"},"metrics":{},"arrival_timestamp":{"$numberLong":"1470183523054"},"event_type":"OfferViewed","event_timestamp":{"$numberLong":"1470183505399"},"event_version":"3.0","application":{"package_name":"com.think.vito","title":"Vito","version_code":"5","app_id":"7ffa58dab3c646cea642e961ff8a8070","cognito_identity_pool_id":"us-east-1:4d9cf803-0487-44ec-be27-1e160d15df74","version_name":"2.0.0.0","sdk":{"version":"2.2.2","name":"aws-sdk-android"}},"client":{"cognito_id":"us-east-1:2e26918b-f7b1-471e-9df4-b931509f7d37","client_id":"ee0b61b0-85cf-4b2f-960e-e2aedef5faa9"},"device":{"locale":{"country":"US","code":"en_US","language":"en"},"platform":{"version":"5.1.1","name":"ANDROID"},"make":"YU","model":"AO5510"},"attributes":{"Category":"120000","CustomerID":"4078","OfferID":"45436"}}
上面的示例只是一个id、会话和度量,还有许多类似的示例

我试着用R中的rjson库转换它,如下所示。事件\u jason是文件名:

library(rjson)
result <- fromJSON(file = "events_json.json")
print(result)



 $`_id`
$`_id`$`$oid`
[1] "57a30ce268fd0809ec4d194f"


$session
$session$start_timestamp
$session$start_timestamp$`$numberLong`
[1] "1470183490481"


$session$session_id
[1] "def5faa9-20160803-001810481"


$metrics
list()

$arrival_timestamp
$arrival_timestamp$`$numberLong`
[1] "1470183523054"


$event_type
[1] "OfferViewed"

$event_timestamp
$event_timestamp$`$numberLong`
[1] "1470183505399"


$event_version
[1] "3.0"

$application
$application$package_name
[1] "com.think.vito"

$application$title
[1] "Vito"

$application$version_code
[1] "5"

$application$app_id
[1] "7ffa58dab3c646cea642e961ff8a8070"

$application$cognito_identity_pool_id
[1] "us-east-1:4d9cf803-0487-44ec-be27-1e160d15df74"

$application$version_name
[1] "2.0.0.0"

$application$sdk
$application$sdk$version
[1] "2.2.2"

$application$sdk$name
[1] "aws-sdk-android"



$client
$client$cognito_id
[1] "us-east-1:2e26918b-f7b1-471e-9df4-b931509f7d37"

$client$client_id
[1] "ee0b61b0-85cf-4b2f-960e-e2aedef5faa9"


$device
$device$locale
$device$locale$country
[1] "US"

$device$locale$code
[1] "en_US"

$device$locale$language
[1] "en"


$device$platform
$device$platform$version
[1] "5.1.1"

$device$platform$name
[1] "ANDROID"


$device$make
[1] "YU"

$device$model
[1] "AO5510"


$attributes
$attributes$Category
[1] "120000"

$attributes$CustomerID
[1] "4078"

$attributes$OfferID
[1] "45436"
库(rjson)

结果您的文件不是单个json对象,而是json对象列表,每行一个。您必须阅读每一行,并从json转换每一行。
一种方法是:

d <- lapply(strsplit(readLines("events_data2.json"),"\n"), fromJSON)

d您的文件不是单个json对象,而是json对象列表,每行一个。您必须阅读每一行,并从json转换每一行。
一种方法是:

d <- lapply(strsplit(readLines("events_data2.json"),"\n"), fromJSON)

d您应该至少给我们几个json行/记录。至此,我们无法重现您的错误,因此我们甚至无法开始帮助您。如果您的JSON未验证,请提供可重现的数据集,以便我们可以执行此操作something@GGamba-我已经提供了snapshopt。请检查!我们不能做任何与裁剪图像,请提供一些可复制的input@GGamba可以给你。链接-您应该给我们至少两个json行/记录。至此,我们无法重现您的错误,因此我们甚至无法开始帮助您。如果您的JSON未验证,请提供可重现的数据集,以便我们可以执行此操作something@GGamba-我已经提供了snapshopt。请检查!我们不能做任何与裁剪图像,请提供一些可复制的input@GGamba可以给你。链接-它是一个ndjson文件
jsonlite::stream_in()
ndjson::stream_in()
是更合适的解决方案它是一个ndjson文件
jsonlite::stream_in()
ndjson::stream_in()
是更合适的解决方案