Javascript 使用fetch API过滤React中API响应中的字段
我的API响应如下所示,我需要过滤掉它,这样我只能从中得到几个字段。e、 我只需要描述和地点Javascript 使用fetch API过滤React中API响应中的字段,javascript,json,reactjs,api,fetch,Javascript,Json,Reactjs,Api,Fetch,我的API响应如下所示,我需要过滤掉它,这样我只能从中得到几个字段。e、 我只需要描述和地点 结果:[{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…},] 0:{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…} binControl:“Y” 描述:“BUFR-良好库存” 位置类型:“BUFR” 我们的:“Y” placeId:“BHLLC” 地点地点:“B
结果:[{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…},]
0:{placeId:“BHLLC”,placeLocation:“BUFR”,locationType:“BUFR”,…}
binControl:“Y”
描述:“BUFR-良好库存”
位置类型:“BUFR”
我们的:“Y”
placeId:“BHLLC”
地点地点:“BUFR”
转让用途:“Y”
可用:“F”
我需要在fetch.js文件中传递body中的字段,如下所示
export const fetchPlacesTo = async () => {
const criteria = [
{
anyOf: [
{
field: "WhosPlace",
value: "L%",
operator: "li"
}
]
}
];
const body = {
criteria,
fields: ["description", "placeLocation", "whosPlace"],
skip: 0,
take: 2000
};
const result = sessionManager
.refreshFetch(
`${**********_API_URI}/place/place`,
fetchUtils.hwsGetRequest(body)
)
.then(parseResponse);
return result;
const body={
标准
字段:[“说明”、“地点位置”、“whosPlace”],
跳过:0,
拍摄时间:2000年
};代码>
然后我试着画出这样的结果。请注意,places是对API调用函数的fetches调用的结果
let result = [];
if (places) {
result = places.results.map(p => ({
placeId: p.description, name: p.placeLocation
}));
}
fetch文件中的fetch函数如下所示
export const fetchPlacesTo = async () => {
const criteria = [
{
anyOf: [
{
field: "WhosPlace",
value: "L%",
operator: "li"
}
]
}
];
const body = {
criteria,
fields: ["description", "placeLocation", "whosPlace"],
skip: 0,
take: 2000
};
const result = sessionManager
.refreshFetch(
`${**********_API_URI}/place/place`,
fetchUtils.hwsGetRequest(body)
)
.then(parseResponse);
return result;
})
下面是调用这个函数的函数
export const getPlacesTo = () => async dispatch => {
try {
dispatch(loading.incrementLoading());
const places = await fetches.fetchPlacesTo().catch(error => {
console.log(error); //CRS: Change to logger
dispatch(loading.setWarning(errors.ERROR_GET_DATA));
});
let result = [];
if (places) {
result = places.results.map(p => ({
placeId: p.description, name: p.placeLocation
}));
}
dispatch({
type: constants.GET_LOOKUP_ENTITY,
payload: {
name: "placeIdToRepair",
value: result
}
});
我猜您希望placeId和placeLocation froom响应成为结果
var result=[]
var data={results: [{placeId: "BHLLC", placeLocation: "BUFR", locationType: "BUFR"},{placeId: "BHALC", placeLocation: "BAFR", locationType: "BAFR"},{placeId: "BHBLLC", placeLocation: "BUBFR", locationType: "BUBFR"}]}
data.results.map(p=>result.push({
placeId: p.placeId, name: p.placeLocation
}));
console.log(result)//(3) [{…}, {…}, {…}]
0:
placeId: "BHLLC"
name: "BUFR"
__proto__: Object
1:
placeId: "BHALC"
name: "BAFR"
__proto__: Object
2:
placeId: "BHBLLC"
name: "BUBFR"
__proto__: Object
length: 3
问题是什么?它不工作,我甚至没有得到响应。请提供所有的调用函数,只是这段代码没有太多意义请共享完整的JSON,你想要什么explixitly@EvandroCavalcateSantos编辑了这篇文章,增加了一些细节。请检查。感谢您的帮助,但当我在API结果上应用map时,代码正在中断,我没有得到任何结果。