Because you are trying to make the library do something that it is not intended to do; it is illegal and not safe to convert the values from the type specified, array, to the type that you require, object.
means an array, and
meaning an object. Otherwise they are mostly
But here comes the problem. You are trying to now read the data that is array, but you are trying to parse it as an object. You are telling the library to parse an object, and are providing it with data that is for an array.
To fix it, just pass the list interface as the type parameter, maybe this,
Dim data As List(Of LocIQRoot) = JsonConvert.DeserializeObject(Of List(Of LocIQRoot))(result)
This will parse the data as a List, and you can then read the objects in a quick
Also, I wrote an article on this topic that you can check out, From zero to hero in JSON with C#
]. I explores some cases and scenarios, and you can find some more tips and hints in the QA section under the article.