fix json reviving for components
fix json reviving for components