Как я могу объединить / суммировать два массива JSON в один на основе одной ключевой переменной в R? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть несколько массивов JSON как -

"расходные записи": [ { "date_expensed": "2019-04-01", "exp_cat_description": "Воздушное путешествие", "totalamountUSD": 10, "totalRecords": 2 }, { "date_expensed": "2019-04-01", "exp_cat_description": "Завтрак", "totalamountUSD": 11, "totalRecords": 1 }]

И мой желаемый формат "расходные записи": [ { "date_expensed": "2019-04-01", { "exp_cat_description": "Воздушное путешествие", "totalamountUSD": 10, "totalRecords": 2 }, { "exp_cat_description": "Завтрак", "totalamountUSD": 11, "totalRecords": 1 },]

Как этого добиться в R

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

Вы можете использовать библиотеку jsonlite и функцию split data.frame.

Сначала преобразуйте ваш json в объект R, затем разделите data.frame по переменной, а затем переписайте объект json.

inputjson <- '{"expenseRecords": [ { "date_expensed": "2019-04-01", "exp_cat_description": "Air Travel", "totalamountUSD": 10, "totalRecords": 2 }, { "date_expensed": "2019-04-01", "exp_cat_description": "Breakfast", "totalamountUSD": 11, "totalRecords": 1 },{ "date_expensed": "2019-04-02", "exp_cat_description": "Air Travel", "totalamountUSD": 10, "totalRecords": 2 }]}'

library(jsonlite)

input <- fromJSON(inputjson)

input$expenseRecords <- split(input$expenseRecords[,-1], input$expenseRecords$date_expensed)

output <- toJSON(input)
0 голосов
/ 04 июня 2019
let newarray =[]

const object1 = {
  name: 'Flavio'
}

const object2 = {
  age: 35
}

const object3 = {...object1, ...object2 }
newArray=[...newArray,object3]
...