如何在VB.NET Newtonsoft中解析Json列表

mil*_*011 2 vb.net parsing json datagridview json.net

我从webservice收到以下JSON:

[ {"lat": 42.41375, "user_id": 762, "user": "John", "lng": 23.02187},  {"lat": 42.46835, "user_id": 675, "user": "Mike", "lng": 23.02612},  {"lat": 42.85672, "user_id": 654, "user": "Jane", "lng": 23.01029},  {"lat": 42.46876, "user_id": 687, "user": "Luke", "lng": 23.02676} ]
Run Code Online (Sandbox Code Playgroud)

我想使用VB.net逐行添加此信息到DataGridView.

我是JSON.net的新手.

如何遍历整个列表?

如何解析呢?

小智 5

根据我的知识,有多种方法可以做到这一点,我更喜欢按照更简单,直接和可维护的方式

在.net框架中提供了JSON序列化程序和反序列化程序,要求就是,您必须创建将映射到您的JSON的类.你可以看看或http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.deserialize.aspx

在上面的例子中,你必须创建如下所示的类

class UserLatLang
{
public long lat { get;set;}
public long lng { get;set;}
public long user_id {get;set;}
public string user {get;set;} 
}
Run Code Online (Sandbox Code Playgroud)

在此之后你可以

var serializer = new JavaScriptSerializer();
var listofUserLatLang = serializer.Deserialize<UserLatLang>(responseText);
Run Code Online (Sandbox Code Playgroud)

您将在listofUserLatLang中获得UserLatLang列表

或者你也可以参考http://msdn.microsoft.com/en-us/library/bb412179.aspx上课

获得UserLatLang列表后,您可以直接将其绑定到DataGrid

希望这能解决你的问题

谢谢,Sandesh Daddi