Solved

how to read Json in VB 2010

Posted on 2015-01-13
15
115 Views
Last Modified: 2015-01-18
HI,
Im struggling to get the correct syntax to read a field in my json,

heres my json

{  
  "results":[  
    {  
      "address_components":[  
        {  
          "long_name":"NG18 4YP",
          "short_name":"NG18 4YP",
          "types":[  
            "postal_code"
          ]
        },
        {  
          "long_name":"Mansfield",
          "short_name":"Mansfield",
          "types":[  
            "locality",
            "political"
          ]
        },
        {  
          "long_name":"Mansfield",
          "short_name":"Mansfield",
          "types":[  
            "postal_town"
          ]
        },
        {  
          "long_name":"Nottinghamshire",
          "short_name":"Nottinghamshire",
          "types":[  
            "administrative_area_level_2",
            "political"
          ]
        },
        {  
          "long_name":"United Kingdom",
          "short_name":"GB",
          "types":[  
            "country",
            "political"
          ]
        }
      ],
      "formatted_address":"Mansfield, Mansfield, Nottinghamshire NG18 4YP, UK",
      "geometry":{  
        "bounds":{  
          "northeast":{  
            "lat":53.135115,
            "lng":-1.1843116
          },
          "southwest":{  
            "lat":53.1334688,
            "lng":-1.1865058
          }
        },
        "location":{  
          "lat":53.1343937,
          "lng":-1.1849156
        },
        "location_type":"APPROXIMATE",
        "viewport":{  
          "northeast":{  
            "lat":53.1356408802915,
            "lng":-1.184059719708498
          },
          "southwest":{  
            "lat":53.1329429197085,
            "lng":-1.186757680291502
          }
        }
      },
      "types":[  
        "postal_code"
      ]
    }
  ],
  "status":"OK"
}

Open in new window


I want the Lat & Lng values from the location_type":"APPROXIMATE", section??
 Heres my Code:

       
Dim result = JsonConvert.DeserializeObject(x)
        Dim lat
        com = result("results")("approximate")("lat")

Open in new window


thanks
0
Comment
Question by:jellydeal
  • 6
  • 5
  • 4
15 Comments
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
have you thought about using json.net?

once you have your class objects defined, it makes it a lot easier in working with them and accessing all of the data
0
 

Author Comment

by:jellydeal
Comment Utility
hi,

Ive spen all day just getting the right references installed etc ;)
Im happy using 'Newtonsoft.Json', I just dont know how to reference the json itself.

Using this Json and this code It works :
{'books':[{'title':'HarryPotter','pages':'134'}]}
Console.WriteLine(result("books")(0)("title") & " - " & result("books")(0)("pages"))

I jusy dont know how to structure the results line to access the other data
0
 

Author Comment

by:jellydeal
Comment Utility
I also have no idea how to implement json.net in vb 2010 express. I can see any references to it
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
my article gives you the link to download it: https://json.codeplex.com/releases
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
right mouse click Reference and select "Manage NuGet Packages". From there, search for it or plug in the url Eric posted
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
were "nuget packages" fully supported back in VS 2010 express?
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:jellydeal
Comment Utility
I cant find any package manager? If I could find the dll, I could manualy add it as a reference>?
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
good point Eric, I don't believe they were.

You'll need to download it, then add a reference. Look at the installation doc on the web site for specifics
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
I'm going to be offline for a bit, hopefully Eric can guide you the rest of the way. I'll check back later and offer any insights if needed
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
>>If I could find the dll, I could manualy add it as a reference>?

Yes download it from CodePlex.
0
 

Author Comment

by:jellydeal
Comment Utility
HI.. Ive decided to download visual studio 2013, this has the package manager..
Could you possibly supply a sample of the .net method of getting the data from json?
0
 
LVL 69

Expert Comment

by:Éric Moreau
Comment Utility
have you looked at my article? it is all written in there
0
 

Accepted Solution

by:
jellydeal earned 0 total points
Comment Utility
Hi,

thanks guys, I did look, but couldn't get it to work.
I did figure it out the , the JSON reference i needed WAS:
com = result("results")(0)("geometry")("location")("lat")

THANKS ANYWAY!
0
 

Author Closing Comment

by:jellydeal
Comment Utility
I figured it out!
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now