【问题标题】:convert list to array in R在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}
 }

【问题讨论】:

    标签: r arrays list


    【解决方案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
        }
      ]
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-29
      • 2020-10-15
      • 2021-05-09
      • 2017-07-04
      • 1970-01-01
      • 2022-07-13
      • 2015-11-14
      • 2011-02-06
      相关资源
      最近更新 更多