Convert Json.NET objects to conventional .NET objects without knowing the types
<p>How do I convert Json.NET objects to conventional .NET types (<code>JArray of string</code> to <code>List&lt;string&gt;</code>, <code>JTokenType=Integer</code> to <code>int</code>, etc.)?
I have found little besides suggestions to use <code>AutoMapper</code> or <code>JToken.ToObject&lt;T&gt;</code>.
This is good advice when the JSON structure is known at compile time, but I can't create a class to represent unknown data, or specify a conversion when I don't know the underlying type.
Json.NET doesn't have a "ConvertToWhateverIsProbablyMostAppropriate()" member. :)</p>

<p>So why not just enumerate through <code>JWhatever</code> objects, leaving them as-is? 
Because I can't pass those types as parameters to (say) Dapper, which doesn't know JToken from <a href="https://en.wikipedia.org/wiki/Spoo" rel="nofollow">spoo</a>.</p>