The 21-year-old could make his debut in Saturday's League Two clash with Fleetwood.
Pompey boss Guy Whittingham told the club website: "We've had our eye on John for a while and we're delighted to be able to bring him here.
"He's a strong boy who can link play and run the channels. He provides some more competition for places in our squad."
Fellow forward Ryan Bird has joined Pompey's non-league neighbours Havant & Waterlooville for a month.
"Ryan's done really well in training and is a good character who will continue to train with us," added Whittingham.
"But he needs to go out and play some competitive games and hopefully he can get on the goal trail at Havant & Waterlooville."
- Sports & Recreation