Of course, even in c# I don't need to parse JSON into a type right away, although I do still need to cope with the "can be an array or string" (and "object or reference") cases.
I could dereference links at parse time, although I'd need to be careful of depth (and cache timeouts).
I still can't believe that the type tree has two roots (Object and Link).