For example, I was looking at this KB (after noticing someone else was using this, confused about serialization):
This code is painfully difficult to read and surely not best practice. Perhaps use Newtonsoft? Make a class that matches the architecture, then 1-line try/catch deserialize: It's standard, intuitive and scalable.
(While you're there, perhaps even change to C#6 for easier-to-read