Solved

how to read Json in VB 2010

Posted on 2015-01-13
15
123 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
  • 4
15 Comments
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 40546835
0
 
LVL 33

Expert Comment

by:Big Monty
ID: 40546840
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
ID: 40546879
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

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

Expert Comment

by:Éric Moreau
ID: 40546883
my article gives you the link to download it: https://json.codeplex.com/releases
0
 
LVL 33

Expert Comment

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

Expert Comment

by:Éric Moreau
ID: 40546910
were "nuget packages" fully supported back in VS 2010 express?
0
 

Author Comment

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

Expert Comment

by:Big Monty
ID: 40546915
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 33

Expert Comment

by:Big Monty
ID: 40546928
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 70

Expert Comment

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

Yes download it from CodePlex.
0
 

Author Comment

by:jellydeal
ID: 40547091
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 70

Expert Comment

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

Accepted Solution

by:
jellydeal earned 0 total points
ID: 40547402
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
ID: 40555995
I figured it out!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Filtering a datagrid view 8 34
Bootstrap question 4 27
disable open new tab with right mouse click in <a> tag 3 19
REST call Failing 1 10
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.
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

756 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