R 如何从整洁的数据创建json字符串

R 如何从整洁的数据创建json字符串,r,R,您好,我有一组CSV文件,需要导入mongo DB 我的数据已经很整洁了,我想把它弄乱以创建可以导入的json对象 例如: client, receipt, total 1 101 $10 1 102 $11 2 201 $10 我想创建json字符串列表,如: list: [1] { "client":1, "receipts":[ { "receipt":101,

您好,我有一组CSV文件,需要导入mongo DB

我的数据已经很整洁了,我想把它弄乱以创建可以导入的json对象

例如:

client, receipt, total
1       101      $10
1       102      $11
2       201      $10
我想创建json字符串列表,如:

list:
[1]
{  
   "client":1,
   "receipts":[  
      {  
         "receipt":101,
         "charge":10
      },
      {  
         "receipt":102,
         "charge":11
      }
   ]
}
[2]
{  
   "client":2,
   "receipts":[  
      {  
         "receipt":201,
         "charge":10
      }
   ]
}
这本来应该是一个简单的问题,但看起来所有的谷歌搜索结果都在讨论如何将json放入一个整洁的data.frame中。

你可以这样做

df<-read.table(header=T, text="client receipt charge
1       101      10
1       102      11
2       201      10")
library(jsonlite)
library(tidyverse)
df %>% 
  nest(-client, .key = receipts) %>% 
  split(.$client) %>% 
  map(~toJSON(unbox(.x), pretty=TRUE)) 
# $`1`
# {
#     "client": 1,
#     "receipts": [
#       {
#         "receipt": 101,
#         "charge": 10
#       },
#       {
#         "receipt": 102,
#         "charge": 11
#       }
#     ]
#   } 
# 
# $`2`
# {
#     "client": 2,
#     "receipts": [
#       {
#         "receipt": 201,
#         "charge": 10
#       }
#     ]
#   } 
df%
嵌套(-client,.key=receipts)%>%
拆分(.$client)%>%
map(~toJSON(unbox(.x),pretty=TRUE))
# $`1`
# {
#“客户”:1,
#“收据”:[
#       {
#“收据”:101,
#“费用”:10
#       },
#       {
#“收据”:102,
#“费用”:11
#       }
#     ]
#   } 
# 
# $`2`
# {
#“客户”:2,
#“收据”:[
#       {
#“收据”:201,
#“费用”:10
#       }
#     ]
#   } 

Luke很有魅力,谢谢。我有一个类似的想法,但你成功了。