在R中将列表转换为数组

Posted

技术标签:

【中文标题】在R中将列表转换为数组【英文标题】:convert list to array in R 【发布时间】:2022-01-18 20:26:12 【问题描述】:

我将一些结果放在一个嵌套列表中(带有数组)。预期结果必须完全如下:


 "item1": "TEXT",
 "item2": "MORE TEXT",
 "item3": [
  "STILL TEXT"
 ],
 "item4": [
  "TEXT AGAIN"
 ],
 "values": [
  
   "start": 0,
   "end": 99
  
 ]

我把所有的结果放在一起是这样的:

listToJson <- c(list(item1 = "TEXT", 
                     item2 = "MORE TEXT", 
                     item3 = "STILL TEXT", 
                     item4  = "TEXT AGAIN", 
                     values = list(start = 99, 
                                   end = 0)))

write_json(listToJson, path = "test.json", auto_unbox = TRUE , null = "null")

问题是结果没有数组元素(见下文)。 item3item4 应该是数组。如何更改我的代码以获得该确切格式的预期结果?


 "item1":"TEXT",
 "item2":"MORE TEXT",
 "item3":"STILL TEXT",
 "item4":"TEXT AGAIN",
 "values":
  "start":99,
  "end":0
 

【问题讨论】:

【参考方案1】:

您可以将as.array 用于这些特定项目。

library(jsonlite)

listToJson <- c(
  list(
    item1 = "TEXT",
    item2 = "MORE TEXT",
    item3 = as.array("STILL TEXT"),
    item4  = as.array("TEXT AGAIN"),
    values = as.array(list(start = 99,
                           end = 0))
  )
)

write_json(listToJson, path = "test.json", auto_unbox = TRUE , null = "null")

输出


  "item1":"TEXT",
  "item2":"MORE TEXT",
  "item3":[
    "STILL TEXT"
  ],
  "item4":[
    "TEXT AGAIN"
  ],
  "values":[
    
      "start":0,
      "end":99
    
  ]

【讨论】:

以上是关于在R中将列表转换为数组的主要内容,如果未能解决你的问题,请参考以下文章

行映射器/转换器在spring boot中将对象数组列表转换为json

在 Python 中将二进制数组转换为十进制(相当于 R readBin?)

如何在 C# 中将列表或数组转换为子类型?

如何在 PostgreSQL 8.0.2 中将列表转换为数组

在c#中将对象列表转换为数组-“x => x.Name”语法是啥意思? [复制]

在c#中将字符串转换为字符串数组