데이터 프레임을 JSON으로 변환
json 형식으로 변환하고 싶은 데이터 프레임이 있습니다.
res1이라는 데이터 프레임:
library(rjson)
structure(list(id = c(1, 2, 3, 4, 5), value = structure(1:5, .Label = c("server1",
"server2", "server3", "server4", "server5"), class = "factor")), .Names = c("id",
"value"), row.names = c(NA, -5L), class = "data.frame")
할 때:
toJSON(res1)
알겠네.
{"id":[1,2,3,4,5],"value":["server1","server2","server3","server4","server5"]}
이 json 출력물이 이렇게 됐으면 좋겠는데, 생각나는 거 없어요?
[{"id":1,"value":"server1"},{"id":2,"value":"server2"},{"id":3,"value":"server3"},{"id":4,"value":"server4"},{"id":5,"value":"server5"}]
jsonlite 패키지는 "JSON 데이터와 R 객체 간의 실용적이고 일관된 매핑"이라는 정확히 이 문제에 대처하기 위해 존재합니다.
그것의.toJSON
function은 다음과 같은 원하는 결과를 기본 옵션으로 제공합니다.
library(jsonlite)
x <- toJSON(res1)
cat(x)
## [{"id":1,"value":"server1"},{"id":2,"value":"server2"},
## {"id":3,"value":"server3"},{"id":4,"value":"server4"},
## {"id":5,"value":"server5"}]
어때.
library(rjson)
x <- toJSON(unname(split(res1, 1:nrow(res1))))
cat(x)
# [{"id":1,"value":"server1"},{"id":2,"value":"server2"},
# {"id":3,"value":"server3"},{"id":4,"value":"server4"},
# {"id":5,"value":"server5"}]
사용방법split()
기본적으로 큰 data.frame을 각 행에 대해 별도의 data.frame으로 분할합니다.그리고 결과 목록에서 이름을 삭제함으로써toJSON
함수는 지정된 개체가 아닌 배열로 결과를 래핑합니다.
이제 전화만 쉽게 할 수 있습니다.jsonlite::write_json()
데이터 프레임에 직접 접속할 수 있습니다.
를 사용할 수도 있습니다.library(jsonify)
jsonify::to_json( res1 )
# [{"id":1.0,"value":"server1"},{"id":2.0,"value":"server2"},{"id":3.0,"value":"server3"},{"id":4.0,"value":"server4"},{"id":5.0,"value":"server5"}]
언급URL : https://stackoverflow.com/questions/25550711/r-convert-dataframe-to-json
'programing' 카테고리의 다른 글
스프링 부트가 정적 콘텐츠를 제공하지 않음 (0) | 2023.03.26 |
---|---|
데이터를 포함하는 표의 열 크기를 변경하다 (0) | 2023.03.26 |
angular.element에서 raw DOM 요소를 가져오는 방법이 있습니까? (0) | 2023.03.21 |
Chrome 개발자 도구에 반응 탭이 표시되지 않음 (0) | 2023.03.21 |
LogStash에서의 JSON 사용 (0) | 2023.03.21 |