It is straightforward to do a sanity check by using an explicit value for b. Below I verify that symbolic result from Integrate for b=2.
Integrate[BesselJ[0, z]^2/(2 + z), {z, 0, Infinity}]
1 1 1
MeijerG[{{-, -}, {}}, {{0, 0, -}, {0}}, 4]
2 2 2
(* Out[2]= ------------------------------------------ *)
3/2
2 Pi
N[%]
(* Out[3]= 0.529248 *)
NIntegrate[BesselJ[0, z]^2/(2 + z), {z, 0, Infinity}]
(* Out[4]= 0.528948 *)
MeijerG[{{1/2, 1/2}, {}}, {{0, 0, 1/2}, {0}}, b^2]/(2*Pi^(3/2))/.b->2.
(* Out[5]= 0.529248 *)
So the symbolic result when give the value 2 in the input agrees with quadrature of same agrees with the parametrized symbolic result with 2 substituted in afterward.