使用 vb.net 在 webmethod 中遍历 JSON 数组
Iterate through JSON array in webmethod using vb.net
我有代表 3 条记录的 JSON
Array
个对象
{"Data":[{"RecID":2383,"PrtStatus":true},{"RecID":3387,"PrtStatus":true},{"RecID":3388,"PrtStatus":true}]}
我正在尝试遍历它。我为它构建了以下 class
Public Class TblRegJoindata
Dim p_RecID As Integer
Dim p_status As Boolean
Public Property RecID As Integer
Get
Return p_RecID
End Get
Set(ByVal value As Integer)
p_RecID = value
End Set
End Property
Public Property PrtStatus As Boolean
Get
Return p_status
End Get
Set(ByVal value As Boolean)
p_status = value
End Set
End Property
End Class
在我的 web 方法中,我可以访问数据,但无法找到循环访问它们并存储它们的方法
<WebMethod> _
Public Function TblRegJoinUpd3(ByVal Data As List(Of TblRegJoindata))
Dim x As Integer = Data(0).RecID
End Function
我想做的是这样的事情,我试图实现它但是不允许使用 "length" 属性
For i As Integer = 0 To Data.Length - 1
cmd.Parameters.Clear()
cmd.Parameters.Add("@RecID", SqlDbType.Int).Value = Convert.ToInt32(i)
cmd.Parameters.Add("@PrtStatus", SqlDbType.Bit).Value = Boolean.Parse((i))
cmd.ExecuteNonQuery()
Next
更新
<WebMethod> _
Public Function TblRegJoinUpd3(ByVal Data As List(Of TblRegJoindata))
Dim constr As String = ConfigurationManager.ConnectionStrings("ARTSQLConStrng").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("TblRegjoinUpdRec", con)
cmd.CommandType = CommandType.StoredProcedure
con.Open()
For i As Integer = 0 To Data.Count - 1
cmd.Parameters.Clear()
cmd.Parameters.Add("@RecID", SqlDbType.Int).Value = Convert.ToInt32(Data(i).RecID)
cmd.Parameters.Add("@PrtStatus", SqlDbType.Bit).Value = Boolean.Parse(Data(i).PrtStatus)
cmd.ExecuteNonQuery()
Next
con.Close()
End Using
End Using
Return (Data.Count)
Return data.count 仅供测试
感谢Chetan Ranpariya
整个工作解决方案如下
Public Class TblRegJoindata
Dim p_RecID As Integer
Dim p_status As Boolean
Public Property RecID As Integer
Get
Return p_RecID
End Get
Set(ByVal value As Integer)
p_RecID = value
End Set
End Property
Public Property PrtStatus As Boolean
Get
Return p_status
End Get
Set(ByVal value As Boolean)
p_status = value
End Set
End Property
End Class
<WebMethod> _
Public Function TblRegJoinUpd3(ByVal Data As List(Of TblRegJoindata))
Dim constr As String = ConfigurationManager.ConnectionStrings("ARTSQLConStrng").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("TblRegjoinUpdRec", con)
cmd.CommandType = CommandType.StoredProcedure
con.Open()
For i As Integer = 0 To Data.Count - 1
cmd.Parameters.Clear()
cmd.Parameters.Add("@RecID", SqlDbType.Int).Value = Convert.ToInt32(Data(i).RecID)
cmd.Parameters.Add("@PrtStatus", SqlDbType.Bit).Value = Boolean.Parse(Data(i).PrtStatus)
cmd.ExecuteNonQuery()
Next
con.Close()
End Using
End Using
Return (Data.Count)
我有代表 3 条记录的 JSON
Array
个对象
{"Data":[{"RecID":2383,"PrtStatus":true},{"RecID":3387,"PrtStatus":true},{"RecID":3388,"PrtStatus":true}]}
我正在尝试遍历它。我为它构建了以下 class
Public Class TblRegJoindata
Dim p_RecID As Integer
Dim p_status As Boolean
Public Property RecID As Integer
Get
Return p_RecID
End Get
Set(ByVal value As Integer)
p_RecID = value
End Set
End Property
Public Property PrtStatus As Boolean
Get
Return p_status
End Get
Set(ByVal value As Boolean)
p_status = value
End Set
End Property
End Class
在我的 web 方法中,我可以访问数据,但无法找到循环访问它们并存储它们的方法
<WebMethod> _
Public Function TblRegJoinUpd3(ByVal Data As List(Of TblRegJoindata))
Dim x As Integer = Data(0).RecID
End Function
我想做的是这样的事情,我试图实现它但是不允许使用 "length" 属性
For i As Integer = 0 To Data.Length - 1
cmd.Parameters.Clear()
cmd.Parameters.Add("@RecID", SqlDbType.Int).Value = Convert.ToInt32(i)
cmd.Parameters.Add("@PrtStatus", SqlDbType.Bit).Value = Boolean.Parse((i))
cmd.ExecuteNonQuery()
Next
更新
<WebMethod> _
Public Function TblRegJoinUpd3(ByVal Data As List(Of TblRegJoindata))
Dim constr As String = ConfigurationManager.ConnectionStrings("ARTSQLConStrng").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("TblRegjoinUpdRec", con)
cmd.CommandType = CommandType.StoredProcedure
con.Open()
For i As Integer = 0 To Data.Count - 1
cmd.Parameters.Clear()
cmd.Parameters.Add("@RecID", SqlDbType.Int).Value = Convert.ToInt32(Data(i).RecID)
cmd.Parameters.Add("@PrtStatus", SqlDbType.Bit).Value = Boolean.Parse(Data(i).PrtStatus)
cmd.ExecuteNonQuery()
Next
con.Close()
End Using
End Using
Return (Data.Count)
Return data.count 仅供测试
感谢Chetan Ranpariya 整个工作解决方案如下
Public Class TblRegJoindata
Dim p_RecID As Integer
Dim p_status As Boolean
Public Property RecID As Integer
Get
Return p_RecID
End Get
Set(ByVal value As Integer)
p_RecID = value
End Set
End Property
Public Property PrtStatus As Boolean
Get
Return p_status
End Get
Set(ByVal value As Boolean)
p_status = value
End Set
End Property
End Class
<WebMethod> _
Public Function TblRegJoinUpd3(ByVal Data As List(Of TblRegJoindata))
Dim constr As String = ConfigurationManager.ConnectionStrings("ARTSQLConStrng").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("TblRegjoinUpdRec", con)
cmd.CommandType = CommandType.StoredProcedure
con.Open()
For i As Integer = 0 To Data.Count - 1
cmd.Parameters.Clear()
cmd.Parameters.Add("@RecID", SqlDbType.Int).Value = Convert.ToInt32(Data(i).RecID)
cmd.Parameters.Add("@PrtStatus", SqlDbType.Bit).Value = Boolean.Parse(Data(i).PrtStatus)
cmd.ExecuteNonQuery()
Next
con.Close()
End Using
End Using
Return (Data.Count)