You can use JTokenEqualityComparer.GetHashCode(JToken token)
for this purpose. It provides access to the GetDeepHashCode()
method you saw.
var obj = JToken.Parse(jsonString);
var comparer = new JTokenEqualityComparer();
var hashCode = comparer.GetHashCode(obj);
Note that JTokenEqualityComparer.Equals(JToken x, JToken y)
calls JToken.DeepEquals()
(source) so this comparer is suited for use as an IEqualityComparer<JToken>
when constructing hash tables or dictionaries of LINQ-to-JSON objects and uniqueness of values is desired.