如何使用 R 将 json 对象推入数组

Posted

技术标签:

【中文标题】如何使用 R 将 json 对象推入数组【英文标题】:How to push a json object into array using R 【发布时间】:2020-02-14 14:28:41 【问题描述】:

我尝试了几种技术将 json 对象推送到数组中并以与以下示例相同的格式保存,但没有成功。

有没有人有解决方案在 R 中做到这一点?

谢谢你

编辑:

我找到了解决办法。

library(jsonlite)

#Set an empty list
list1 <- vector(mode = 'list', length = 2)

# data example
json_data <- list(object1 = list(birthday = '2000-02-14', Age = '20'), 
              object2 = list(Candidate_Number = '1999283', first_attempt = TRUE), 
              object3 = list(name = 'John E.', result = list(), study_hours = 150, GPA = 3.8, exam_infos = list(cost = 800, location = 'F3C6V9', past_exams = list(list(exam_name = 'Science', score = 'passed'), list(exam_name = 'Geometric', score = 'passed')))), 
              object4 = list(study_manual_used = 'Physics Theory', version_found = list(Digital = '1999-01-01', Paper = '1999-01-01')))

# append data into json
for(i in length(list1))

  list1[[i]] <- json_data



# Write to json on his home
write(toJSON(list1, auto_unbox = TRUE, pretty = TRUE), file.path(Sys.getenv()['USERPROFILE'], 'file.json'))

【问题讨论】:

请不要将图像用于数据。我不明白这个问题。请举例说明输入和预期输出。 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。不要将数据放入图像中,因为我们无法复制/粘贴数据以进行测试。你尝试过哪些技术?他们究竟是如何失败的? 我同意你的评论。下次我会注意这些细节。同时,我编辑了我的帖子并编写了解决方案。谢谢你 【参考方案1】:

要将对象保存为 JSON,您可以使用包 rjson

library("rjson")

# example data
list1 <- list()
list1[[1]] <- c(created_at="1910-02-03", id="212", field="1")
list1[[2]] <- c(created_at="1910-01-02", id="218", field="3")

# to json
toJSON(list1)

write(toJSON(list1), "file.json")

如果问题是您创建了 data.frame 并需要将其重新转换为 json。您必须逐行列出:

# example data
dta <- as.data.frame(rbind(c(created_at="1910-02-03", id="212", field="1"), c(created_at="1910-01-02", id="218", field="3")))

# to json
toJSON(list(dta[1,],dta[2,]))

【讨论】:

以上是关于如何使用 R 将 json 对象推入数组的主要内容,如果未能解决你的问题,请参考以下文章

如何将父对象迭代到子对象并推入数组javascript(vuejs)

如何使用扩展运算符将对象数组推入特定元素

如何将对象数组推入数组

Angular2,Typescript:如何将对象数组推入另一个对象数组,其中只有几个对象字段

推入 mongoose 对象内部的数组

如何在 R 中使用 tidyjson 处理嵌套的空 JSON 数组