我正在构建一个Ionic App +一个Symfony3 Rest Api。 因为我需要过滤结果,我在api中创建过滤器并传递它们我必须使用这种格式:
...URL?key=value&key2=value2&array_key[]=array_value1&array_key[]=array_value2
所以在我的Ionic应用程序中,我创建了一个包含我必须传递的所有值的Object:
let filters : Object;
filters = {
"key":"value",
"key2":"value2",
"array_key":["array_value1","array_value2"]
}
有没有办法将这个对象转换为等待我的api的字符串?
答案 0 :(得分:-1)
所以我不知道我是不是在发明白开水,但这就是我所做的:
public urlFiltersEncorder(filters: Object):string {
let url_parts = [];
for (let filter_key in filters) {
if(filters[filter_key] instanceof Array){
for (let filter_item of filters[filter_key]) {
url_parts.push(`${filter_key}[]=${encodeURIComponent(filter_item)}`);
}
}else{
url_parts.push(`${filter_key}=${encodeURIComponent(filters[filter_key])}`);
}
}
return '?'+url_parts.join('&');
}
我很想知道是否有更好的方法可以做到这一点,因为我认为通常的任务需要很多代码......