"I spent some time with him at Google camp in Sicily last summer and I could tell that he was totally in love," the 70-year-old singer, who is a longtime friend of the royal family, said during an interview with ITV's "Lorraine" show on Thursday.
"He didn't really discuss much personally, but he said 'I'm in love,' and I thought, good for you." he said.
Prince Harry and Prince William both "seem to be ecstatically happy, and that's all you want people to be, no matter who they are," John added. "When people get married, you want it to last, you want them to be happy. I'm happy for him, I hope they have a wonderful day."
When asked if he would perform at the wedding, the entertainer played coy and said he would be playing in Las Vegas, so he wasn't sure. John added that he hadn't even been invited to the wedding yet.
"It would be nice" to attend, John said, "because I love him dearly. We're working very closely on AIDS projects with him. You know, both of those boys are very special to me because of their mother. He's a good boy, his heart's in the right place and all you want is for people to be happy."
John also spoke during the interview about his late friend, Princess Diana, and opened up about what it was like losing her some 20 years ago.
"I loved her because she did so much for AIDS and she was a great friend to me," he said. "We had a falling out, but we reconciled in the end."
He added: "It was an extraordinary summer. Gianni Versace was murdered [in July 1997], and then Diana rang me up and we reconciled. And six weeks later, I'm in the same house, and she's dead. It was extraordinary, and I just couldn't believe what was going on."
John has been on a press tour lately, after announcing his retirement from touring just a few days ago. The singer said that he's going on a three-year, 300-date tour, and insisted this will be the only farewell tour he'll ever do.
"I'm 71. I can't physically do the traveling anymore," he said during a press conference with moderator Anderson Cooper at New York's Gotham Hall on Wednesday.
"I want to be at home. I really want to spend time with my children at home. I've had an incredible life, but life is all about change."