I think the format you described correspond to ndjson.
There is some support for that in jsonlite or ndjson
. See example here
json_string <- '{"name":"Test1", "accountHistory":[{"amount":"107.62","date":"2012-02-02T06:00:00.000Z","business":"CompanyA","name":"Home Loan Account 6220","type":"payment","account":"11111111"},{"amount":"650.88","date":"2012-02-02T06:00:00.000Z","business":"CompanyF","name":"Checking Account 9001","type":"payment","account":"123123123"},{"amount":"878.63","date":"2012-02-02T06:00:00.000Z","business":"CompanyG","name":"Money Market Account 8743","type":"deposit","account":"123123123"}]}
{"name":"Test2", "accountHistory":[{"amount":"199.29","date":"2012-02-02T06:00:00.000Z","business":"CompanyB","name":"Savings Account 3580","type":"invoice","account":"12312312"},{"amount":"841.48","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Home Loan Account 5988","type":"payment","account":"123123123"},{"amount":"116.55","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Auto Loan Account 1794","type":"withdrawal","account":"12312313"}]}
{"name":"Test3", "accountHistory":[{"amount":"602.45","date":"2012-02-02T06:00:00.000Z","business":"CompanyC","name":"Personal Loan Account 9924","type":"deposit","account":"12312312"},{"amount":"377.08","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Investment Account 1002","type":"withdrawal","account":"123123123"},{"amount":"204.44","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Auto Loan Account 2452","type":"withdrawal","account":"123123123"}]}
{"name":"Test4", "accountHistory":[{"amount":"31.19","date":"2012-02-02T06:00:00.000Z","business":"CompanyD","name":"Auto Loan Account 3893","type":"payment","account":"12312312"},{"amount":"820.25","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Savings Account 6260","type":"payment","account":"123123123"},{"amount":"582.19","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Auto Loan Account 9826","type":"payment","account":"123123123"}]}
{"name":"Test5", "accountHistory":[{"amount":"340.93","date":"2012-02-02T06:00:00.000Z","business":"CompanyE","name":"Checking Account 5055","type":"withdrawal","account":"12312312"},{"amount":"523.31","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Savings Account 1680","type":"deposit","account":"123123123"},{"amount":"153.38","date":"2012-02-02T06:00:00.000Z","business":"Company","name":"Money Market Account 1010","type":"withdrawal","account":"123123123"}]}'
temp_file <- tempfile("dummy.json")
writeLines(json_string, temp_file)
# use jsonlite
jsonlite::stream_in(file(temp_file, "r"))
#>
Found 5 records...
Imported 5 records. Simplifying...
#> name
#> 1 Test1
#> 2 Test2
#> 3 Test3
#> 4 Test4
#> 5 Test5
#> accountHistory
#> 1 107.62, 650.88, 878.63, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, CompanyA, CompanyF, CompanyG, Home Loan Account 6220, Checking Account 9001, Money Market Account 8743, payment, payment, deposit, 11111111, 123123123, 123123123
#> 2 199.29, 841.48, 116.55, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, CompanyB, Company, Company, Savings Account 3580, Home Loan Account 5988, Auto Loan Account 1794, invoice, payment, withdrawal, 12312312, 123123123, 12312313
#> 3 602.45, 377.08, 204.44, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, CompanyC, Company, Company, Personal Loan Account 9924, Investment Account 1002, Auto Loan Account 2452, deposit, withdrawal, withdrawal, 12312312, 123123123, 123123123
#> 4 31.19, 820.25, 582.19, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, CompanyD, Company, Company, Auto Loan Account 3893, Savings Account 6260, Auto Loan Account 9826, payment, payment, payment, 12312312, 123123123, 123123123
#> 5 340.93, 523.31, 153.38, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, 2012-02-02T06:00:00.000Z, CompanyE, Company, Company, Checking Account 5055, Savings Account 1680, Money Market Account 1010, withdrawal, deposit, withdrawal, 12312312, 123123123, 123123123
# or ndjson package directly
ndjson::stream_in(temp_file)
#> Source: local data table [5 x 19]
#>
#> # A tibble: 5 x 19
#> accountHistory.~ accountHistory.~ accountHistory.~ accountHistory.~
#> <chr> <chr> <chr> <chr>
#> 1 11111111 107.62 CompanyA 2012-02-02T06:0~
#> 2 12312312 199.29 CompanyB 2012-02-02T06:0~
#> 3 12312312 602.45 CompanyC 2012-02-02T06:0~
#> 4 12312312 31.19 CompanyD 2012-02-02T06:0~
#> 5 12312312 340.93 CompanyE 2012-02-02T06:0~
#> # ... with 15 more variables: accountHistory.0.name <chr>,
#> # accountHistory.0.type <chr>, accountHistory.1.account <chr>,
#> # accountHistory.1.amount <chr>, accountHistory.1.business <chr>,
#> # accountHistory.1.date <chr>, accountHistory.1.name <chr>,
#> # accountHistory.1.type <chr>, accountHistory.2.account <chr>,
#> # accountHistory.2.amount <chr>, accountHistory.2.business <chr>,
#> # accountHistory.2.date <chr>, accountHistory.2.name <chr>,
#> # accountHistory.2.type <chr>, name <chr>
Created on 2019-01-21 by the reprex package (v0.2.1)
About ndjson see website of the
https://hrbrmstr.github.io/ndjson/