将R列表转换为JSON [英] Converting R list to JSON

查看:187
本文介绍了将R列表转换为JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一个简单的问题-我想在R中将列表转换为JSON. 假设这是我的清单:

A simple question - I'd like to convert a list to JSON in R. Let's say this is my list:

listtest = list(
  list(section_id = NULL, name = 'name1', slug = 'slug1'),
  list(section_id = NULL, name = 'name2', slug = 'slug2'),
  list(section_id = NULL, name = 'name3', slug = 'slug3', categories = 
         list(
           list(section_id = NULL, name = 'name31', slug = 'slug31'),
           list(section_id = NULL, name = 'name32', slug = 'slug32')
         )
  )
)

所以我用一个简单的

jsontest = toJSON(listtest, pretty = TRUE, auto_unbox = TRUE)

然后我得到一个像这样的JSON:

Then I get a JSON like this:

[
  {
    "section_id": {},
    "name": "name1",
    "slug": "slug1"
  },
  {
    "section_id": {},
    "name": "name2",
    "slug": "slug2"
  },
  {
    "section_id": {},
    "name": "name3",
    "slug": "slug3",
    "categories": [
      {
        "section_id": {},
        "name": "name31",
        "slug": "slug31"
      },
      {
        "section_id": {},
        "name": "name32",
        "slug": "slug32"
      }
    ]
  }
] 

但是,在代码的开头和结尾,我得到的是"[]和"]".我该如何摆脱呢?当上传到mongoDB时,它给了我一个错误,但是如果没有括号,它就可以正常工作.

However, at the beginning and end of the code I get '[' and ']'. How can I get rid of this? When uploading to mongoDB it gives me an error whereas without the brackets it works fine.

推荐答案

使用gsub()

jsontest <- gsub(pattern = '^\[', replacement = "", x = jsontest)
jsontest <- gsub(pattern = '\]$', replacement = "", x = jsontest)

结果:

  {
    "section_id": {},
    "name": "name1",
    "slug": "slug1"
  },
  {
    "section_id": {},
    "name": "name2",
    "slug": "slug2"
  },
  {
    "section_id": {},
    "name": "name3",
    "slug": "slug3",
    "categories": [
      {
        "section_id": {},
        "name": "name31",
        "slug": "slug31"
      },
      {
        "section_id": {},
        "name": "name32",
        "slug": "slug32"
      }
    ]
  }

仍然为json类:

> class(jsontest)
[1] "json"

但是也许空白可能会引起一些麻烦.

But maybe the blank space might cause some troubles.

这篇关于将R列表转换为JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆