如何使用VB.NET从Twitter流API解析位置

如何使用VB.NET从Twitter流API解析位置,vb.net,twitter,Vb.net,Twitter,我在vb.net中创建了一个函数,该函数使用JSON.net解析来自Twitter的JSON响应。 解析文本、源代码和创建的内容非常有用。我实际上是在程序中使用这段代码。但当我尝试解析例如location时,我只得到一个空字符串。我知道我可能需要一个数组。但是为什么我不需要一个用于文本、源和创建的数组?我应该如何声明数组,它需要哪些值 我的代码 Private Sub ParseJson(ByVal Json As String) Dim o As JObject = JObje

我在vb.net中创建了一个函数,该函数使用JSON.net解析来自Twitter的JSON响应。 解析文本、源代码和创建的内容非常有用。我实际上是在程序中使用这段代码。但当我尝试解析例如location时,我只得到一个空字符串。我知道我可能需要一个数组。但是为什么我不需要一个用于文本、源和创建的数组?我应该如何声明数组,它需要哪些值

我的代码

  Private Sub ParseJson(ByVal Json As String)


    Dim o As JObject = JObject.Parse(Json)


    Dim tweet As String = o("text")
    Dim source As String = o("source")
    Dim created_at As String = o("created_at")


'See below, I get an empty string here

  Dim location As String = o("location")



End Sub
提供位置信息的方式多种多样。例如,一个实例包含以下JSON片段:

geo: {
    type: "Point",
    coordinates: [
        47.73491243,
        -122.33668846
    ]
},
coordinates: {
    type: "Point",
    coordinates: [
        -122.33668846,
        47.73491243
    ]
}
因此,您可以读取将成为嵌套对象的
geo
坐标,而不是
location
。我不知道他们有哪种有效的
类型

信息还作为
位置提供
,这是一个更复杂的对象:

place: {
    id: "ecb63eb9d9d83b31",
    url: "http://api.twitter.com/1/geo/id/ecb63eb9d9d83b31.json",
    place_type: "city",
    name: "Shoreline",
    full_name: "Shoreline, WA",
    country_code: "US",
    country: "United States",
    bounding_box: {
        type: "Polygon",
        coordinates: [ … ]
    }
}
因此,为了阅读
位置
,您可以使用以下命令:

String.Format("{0} ({1})", o("place")("full_name"), o("place")("country_code"))
哪个会回来

Shoreline, WA (US)

据我所知,这些属性中没有一个是必须提供的,因此,如果您想变得健壮,您应该测试所有属性的存在,直到找到一个生成所需信息的属性。

数据库代码似乎与问题无关,但它占用了大部分文本。请省去像这样不相干的细节。更有趣的是,看看位置信息是什么样子,以及你是如何解析它的。康拉德·鲁道夫:对不起,我现在编辑了我的代码。