You can't recover your tokens and ether without private key or json file , if you have imported that key in metamask then you can do fetch all the tokens there . otherwise it is impossible because it is same like accessing ether address of another user . at the time of creating wallet it is suggested to save that data in safe place , recommended to write on paper .