VB.net 怎么解析Json
VB.net 如何解析Json
网上查到这么用
List<string> videogames = JsonConvert.DeserializeObject<List<string>>(json);
但是VB里JsonConvert.DeserializeObject<List<string>>(json)是报错的,
<List<string>>是强制类型转换么?
VB 里怎么用JsonConvert.DeserializeObject函数呢,我只是想把每一项对应保存到一个类的对象里
谢谢大家[color=#FF00FF][/color]
------解决方案--------------------
在.NET使用JSON作为数据交换格式
使用System.Web.Script.Serialization.JavaScriptSerializer类
System.Web.Script.Serialization.JavaScriptSerializer类是.NET类库中自带的一种JSON序列化实现,在.NET Framework3.5及以后版本中可以使用这个类,这个类位于System.Web.Extensions.dll中,使用这个类是必须添加对这个dll的引用。
下面的代码是使用JavaScriptSerializer进行序列化和反序列化的例子:
使用Newtonsoft.Json.JsonConvert类
Newtonsoft.Json.JsonConvert类是非微软提供的一个JSON序列化和反序列的开源免费的类库(下载网址是:http://www.codeplex.com/json/),它提供了更灵活的序列化和反序列化控制,并且如果你的开发环境使用的是.NET Framework3.5及以后版本的话,你就可以使用Linq to JSON,这样一来面对一大段的数据不必一一解析,你可以使用Linq to JSON解析出你关心的那部分即可,非常方便。
string json ={
"name": "Jack",
"email": "email@163.com"}
网上查到这么用
List<string> videogames = JsonConvert.DeserializeObject<List<string>>(json);
但是VB里JsonConvert.DeserializeObject<List<string>>(json)是报错的,
<List<string>>是强制类型转换么?
VB 里怎么用JsonConvert.DeserializeObject函数呢,我只是想把每一项对应保存到一个类的对象里
Public Class user
Private _name As String
Public Property name As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
Private _email As String
Public Property email As String
Get
Return _email
End Get
Set(ByVal value As String)
_email = value
End Set
End Property
End Class
谢谢大家[color=#FF00FF][/color]
------解决方案--------------------
在.NET使用JSON作为数据交换格式
使用System.Web.Script.Serialization.JavaScriptSerializer类
System.Web.Script.Serialization.JavaScriptSerializer类是.NET类库中自带的一种JSON序列化实现,在.NET Framework3.5及以后版本中可以使用这个类,这个类位于System.Web.Extensions.dll中,使用这个类是必须添加对这个dll的引用。
下面的代码是使用JavaScriptSerializer进行序列化和反序列化的例子:
public static void JavaScriptSerializerDemo()
{
User user = new User { UserId = 1, UserName = "李刚", CreateDate = DateTime.Now.AddYears(-30),Birthday=DateTime.Now.AddYears(-50), Priority = Priority.Highest, Salary = 500000 };
//JavaScriptSerializer类在System.Web.Extensions.dll中,注意添加这个引用
JavaScriptSerializer serializer = new JavaScriptSerializer();
//JSON序列化
string result=serializer.Serialize(user);
Console.WriteLine("使用JavaScriptSerializer序列化后的结果:{0},长度:{1}", result, result.Length);
//JSON反序列化
user = serializer.Deserialize<User>(result);
Console.WriteLine("使用JavaScriptSerializer反序列化后的结果:UserId:{0},UserName:{1},CreateDate:{2},Priority:{3}", user.UserId, user.UserName, user.CreateDate, user.Priority);
}
使用Newtonsoft.Json.JsonConvert类
Newtonsoft.Json.JsonConvert类是非微软提供的一个JSON序列化和反序列的开源免费的类库(下载网址是:http://www.codeplex.com/json/),它提供了更灵活的序列化和反序列化控制,并且如果你的开发环境使用的是.NET Framework3.5及以后版本的话,你就可以使用Linq to JSON,这样一来面对一大段的数据不必一一解析,你可以使用Linq to JSON解析出你关心的那部分即可,非常方便。