我在VB.NET 2005中遇到有关JObject的问题
Dim result_post = SendRequest("http://" + IP + ":" + Port + "/scanlog/new", data, "POST")
TB_Memo.Text = result_post
Dim json As String = TB_Memo.Text
Dim ser As JObject = JObject.Parse(json)
Dim jdata As List(Of JToken) = ser.Children().ToList
并在
中收到消息错误ser.Children().ToList"
约:
' ToList'不是' Newtonsoft.Json.Linq.JEnumerable(Of Newtonsoft.Json.Linq.JToken)'的成员。
我尝试在第一个代码行添加此内容,但仍然是错误
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
我在VB.NET 2010中尝试过并且工作过,但是在VB.NET 2005中仍然出错并且我正在使用2005用于真正的模块程序。 请帮助我,谢谢你的关心。
答案 0 :(得分:0)
ToList
不是JObject.Children()
的方法或属性。相反,它是extension method命名空间中的LINQ Enumerable.ToList<TSource>(IEnumerable<TSource>)
System.Linq
。
不幸的是,在VS 2008中添加了Visual Studio 2005 does not support extension methods,在VS 2008中也添加了does not support LINQ。
因此,您需要使用传统的LINQ前List(Of JToken)
constructor:
Dim jdata As List(Of JToken) = new List(Of JToken)(ser.Children())
顺便说一句,如果你打算使用LINQ to JSON,那么自从that version引入LINQ以来,你可能很难移植到早于2008的任何版本的Visual Studio。