Я получаю этот JSON из своего API, я пытаюсь преобразовать его в пригодный для использования формат для моей формы (это будет список с флажком)
{
"uuid": "daff25b9-1efa-4c25-904f-7bf08bf22ce6",
"concrete_samples": [
{
"uuid": "bb5d9b79-9e6b-4c21-9c1c-4771ce06e433",
"sample_datetime": "2019-10-03T12:11:00+10:00",
"sample_specimens": {
"concrete_compressive_cylinder_100": [
{
"uuid": "4a730dd7-7bdb-4671-9b28-9b107759f4c8",
"sample_uuid": "bb5d9b79-9e6b-4c21-9c1c-4771ce06e433",
"mould_number": "321"
},
{
"uuid": "205e31dd-637e-4588-bfbe-25093ff2c0cc",
"sample_uuid": "bb5d9b79-9e6b-4c21-9c1c-4771ce06e433",
"mould_number": "322"
},
{
"uuid": "c9f975a9-b152-4711-b103-bda63e6e9d0b",
"sample_uuid": "bb5d9b79-9e6b-4c21-9c1c-4771ce06e433",
"mould_number": "323"
},
{
"uuid": "c88940e4-28aa-4e64-b6b9-854a67797a7c",
"sample_uuid": "bb5d9b79-9e6b-4c21-9c1c-4771ce06e433",
"mould_number": "324"
}
]
}
}
]
}
формат, который я пытаюсьпреобразуйте это в следующее
[
{
"type": "concrete_compressive_cylinder_100",
"sample_datetime": "2019-10-03T12:11:00+10:00",
"sample_uuid": "bb5d9b79-9e6b-4c21-9c1c-4771ce06e433",
"mould_number": "321"
},
{
"type": "concrete_compressive_cylinder_100",
"sample_datetime": "2019-10-03T12:11:00+10:00",
"sample_uuid": "205e31dd-637e-4588-bfbe-25093ff2c0cc",
"mould_number": "322"
},
{
"type": "concrete_compressive_cylinder_100",
"sample_datetime": "2019-10-03T12:11:00+10:00",
"sample_uuid": "c9f975a9-b152-4711-b103-bda63e6e9d0b",
"mould_number": "323"
},
{
"type": "concrete_compressive_cylinder_100",
"sample_datetime": "2019-10-03T12:11:00+10:00",
"sample_uuid": "c88940e4-28aa-4e64-b6b9-854a67797a7c",
"mould_number": "324"
}]
Я был в тупике на этом в течение нескольких часов, и я просто не могу обернуться вокруг фильтрации и уменьшения этого. Если бы кто-то мог немного осветить путь, я уверен, что мог бы понять это. Может быть несколько concrete_samples, и concrete_compressive_cylinder_100 может иметь значение null. Кроме того, sample_specimens также может иметь значение null (если к образцу не прикреплено ни одного образца)
Я пробовал это ниже, но это просто дает мне массив всехключи
let TempArray = Object.keys(res.data);
TempArray.reduce(function(concreteCylinderArray, sampleDateTime, sampleUUID, mouldNumber) {
// now access this values from apiResponse and start setting them as the argument variables I have wrote
const sampleObject = { concreteCylinderArray, sampleDateTime, sampleUUID, mouldNumber };
return [].push(sampleObject);
}, []);