[ImageURL] query malformed, no start_object after query name

I have the following request json for ES query. It gives me error "[ImageURL] query malformed, no start_object after query name"

Where i am doing wrong? Please help. I want to get records where "ImageURL" is not null
{
"from": 0,
"size": 45,
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": [
[{
"term": {
"PostStatusInd": 1
}
}, {
"term": {
"PostCountry": "PAK"
}
}], {
"range": {
"RecModDate": {
"gte": "2019-07-07 00:00:00"
}
}
}, {
"range": {
"PostPriceAmt": {
"gte": "0",
"lte": "100000000"
}
}
}, {
"geo_distance": {
"distance": "41000km",
"Location": {
"lat": "33.6895939",
"lon": "73.0435789"
}
}
}
],
"must_not": {
"ImageURL": null
}
}
},
"sort": [{
"RecModDate": {
"order": "desc"
}
}]
}