漂亮 JSON 在 R 中没有正确书写

Pretty JSON not writing correctly in R

我正在使用 jsonlite 包从 R 编写 JSON 文件。我想使用漂亮的打印,但结果是错误的,文本中有很多意想不到的 [ 和 \ 而不是开始一个新行。

一个简单的例子:

ls <- list(fruit = c("apples", "oranges"), animals = c("cats","dogs"))
ls <- jsonlite::toJSON(ls, pretty = TRUE)

这似乎适用于 R:

ls

{
  "fruit": ["apples", "oranges"],
  "animals": ["cats", "dogs"]
}

但是我写出来的文件是:

jsonlite::write_json(ls,"test.json", pretty = TRUE)

然后我得到:

["{\n  \"fruit\": [\"apples\", \"oranges\"],\n  \"animals\": [\"cats\", \"dogs\"]\n}"]

我在 Windows 10 64 位

上使用 R 版本 3.5.0 (2018-04-23)

write_json 将要序列化的对象作为参数。所以你应该这样做:

ls <- list(fruit = c("apples", "oranges"), animals = c("cats","dogs"))
write_json(ls, "test.json", pretty = TRUE)

而不是 write_json(toJSON(ls), ......)