const obj = {
"weather": [{"id":800,"main":"Clear","description":"Sky is Clear","icon":"01n"}]
};
obj.weather[0].main; //Clear"
"weather" powinno być właściwością jakiegoś obiektu, samo "weather" nie jest obiektem ale tablicą. Musiałbyś więc przeanalizować więcej swojego kodu i poszukać do jakiego obiektu jest to przypisane, ja dałem testowo do obiektu "obj".
Nie jest to też JSON, ponieważ gdybyś zapisał obj do JSON to byłoby:
JSON.stringify(obj);
//"{"weather":[{"id":800,"main":"Clear","description":"Sky is Clear","icon":"01n"}]}"
Także poszukaj w kodzie którego obiektu właściwością jest "weather". Obiekty w JS "otoczone" są klamerkami - patrz przykład z obj. Jeśli jest to teoretycznie jakiś JSON np. z odpowiedzi z API to może będzie to właściwość jakiegoś obiektu "response" itp.?