Как вставить не строковое значение в jsonlite :: to JSON () - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть следующий код:

library(dplyr)
head(iris[c(1,5)], n = 3) %>%   
 mutate(qtc = "{smooth: 7}")  %>% 
 jsonlite::toJSON(pretty = TRUE)

, который создает этот вывод:

[
  {
    "Sepal.Length": 5.1,
    "Species": "setosa",
    "qtc": "{smooth: 7}"
  },
  {
    "Sepal.Length": 4.9,
    "Species": "setosa",
    "qtc": "{smooth: 7}"
  },
  {
    "Sepal.Length": 4.7,
    "Species": "setosa",
    "qtc": "{smooth: 7}"
  }
] 

Обратите внимание, что для этой записи "qtc": "{smooth: 7}" значение "{smooth: 7}" находится в кавычках. Как я могу удалить эту цитату в моем коде. Желаемый результат:

[
  {
    "Sepal.Length": 5.1,
    "Species": "setosa",
    "qtc": {"smooth": 7}
  },
  {
    "Sepal.Length": 4.9,
    "Species": "setosa",
    "qtc": {"smooth": 7}
  },
  {
    "Sepal.Length": 4.7,
    "Species": "setosa",
    "qtc": {"smooth": 7}
  }
] 

1 Ответ

1 голос
/ 02 апреля 2020
library(dplyr)
head(iris[c(1,5)], n = 3) %>%   
  mutate(qtc = list(list(smooth = 7)))  %>% 
  jsonlite::toJSON(pretty = TRUE, auto_unbox = TRUE)

[
  {
    "Sepal.Length": 5.1,
    "Species": "setosa",
    "qtc": {
      "smooth": 7
    }
  },
  {
    "Sepal.Length": 4.9,
    "Species": "setosa",
    "qtc": {
      "smooth": 7
    }
  },
  {
    "Sepal.Length": 4.7,
    "Species": "setosa",
    "qtc": {
      "smooth": 7
    }
  }
] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...