漂亮 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), ......)
。
我正在使用 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), ......)
。