У меня JSON Object данные хранятся в состоянии mycart в следующем формате: (это данные продуктов, сгруппированных по их CompanyNames )
{
"Master Automotives": [
{
"SparePartID": "43",
"Name": "Oil and Lubricants",
"Price": "4500",
"VendorID": "48",
"CompanyName": "Master Automotives",
"Qty": 1,
"TotalPrice": "4500"
},
{
"SparePartID": "45",
"Name": "Lights",
"Price": "2300",
"VendorID": "48",
"CompanyName": "Master Automotives",
"Qty": 1,
"TotalPrice": "2300"
}
],
"Repair Solutions": [
{
"SparePartID": "47",
"Name": "Steering Wheel",
"Price": "1500",
"VendorID": "60",
"CompanyName": "Repair Solutions",
"Qty": 1,
"TotalPrice": "1500"
}
],
"FiveStar Automotives": [
{
"SparePartID": "51",
"Name": "Brakes",
"Price": "234",
"VendorID": "70",
"CompanyName": "FiveStar Automotives",
"Qty": 1,
"TotalPrice": "234"
},
{
"SparePartID": "53",
"Name": "Clutch",
"Price": "999",
"VendorID": "70",
"CompanyName": "FiveStar Automotives",
"Qty": 1,
"TotalPrice": "999"
},
{
"SparePartID": "55",
"Name": "LED",
"Price": "288",
"VendorID": "70",
"CompanyName": "FiveStar Automotives",
"Qty": 1,
"TotalPrice": "288"
}
]
}
Теперь я хочу разместить отдельные заказы для каждой компании.Например, если у компании A: "Master Automotives" есть 2 продукта, я хочу позвонить в API, чтобы разместить заказ отдельно
, а затем снова вызвать API для компании B: "Repair Soltions" , в котором есть 1 товар и оформить заказ.И так далее для всех компаний, которые присутствуют в объекте JSON mycart.
Я хочу перебрать объект mycart в соответствии с названиями компаний и API-интерфейсами вызовов отдельно для каждой компании в одной и той же функции.(Этот объект mycart может иметь несколько компаний. Динамический.)
Так будет выглядеть вызов My API. Я просто не знаю, как перебрать мой объект JSON в этой функции:
placeOrder()
{
const orderData = {
CustomerID: this.state.customer.CustomerID,
TotalPrice: this.state.totalPrice }
//TotalPrice is each Company's items' total
//nested API call
axios.post('http://localhost/Auth/api/customers/create_order.php', orderData)
.then((res) => {
console.log(res.data);
this.setState({orderID: res.data.oid});
const cartOrder = this.state.mycart;
alert("Congratulations! Your Order is Confirmed");
return axios.post('http://localhost/Auth/api/customers/insert_order_details.php', cartOrder)
.then((result) => {
alert("Your all order items added to order details table");
});
});
}