我正在尝试订阅以下JSON数组中的第一个对象。
"data" : [ {
"registrationNumber" : "1234",
"vehicleMake" : "B.M.W.",
"vehicleModel" : "R1100 S",
"cylinderCapacity" : "1100",
"typeOfFuel" : "Petrol",
"colour" : "Blue",
"dateOfFirstRegistration" : "Wed Feb 18 00:00:00 GMT 2000"
} ]
这是 vehicle.js ,它可以在以前的json结构下很好地访问数据,该结构不使用数组来存储对象(只能是单个对象)。
export function getVehicleEnquiry({ regNumber }) {
return axios.post(`${API}/VehicleLookup`, {
fieldname: 'registrationNumber',
value: regNumber,
}).then(data => ({
data: {
regNumber: data.registrationNumber,
make: data.vehicleMake,
model: data.vehicleModel,
firstRegistered: data.dateOfFirstRegistration,
capacity: data.cylinderCapacity,
fuelType: data.typeOfFuel,
color: data.colour,
},
}));
}
答案 0 :(得分:1)
由于您的响应现在包含一个数组,因此无法直接访问该对象。使用[0]
,您可以引用数组的第一个索引,该索引“包含”您要查找的对象。
将data
更改为data[0]
:
data: {
regNumber: data[0].registrationNumber,
make: data[0].vehicleMake,
model: data[0].vehicleModel,
firstRegistered: data[0].dateOfFirstRegistration,
capacity: data[0].cylinderCapacity,
fuelType: data[0].typeOfFuel,
color: data[0].colour,
},