μάλλον θα μείνω προσωρινά με τα web services, γιατί απο ότι καταλαβαίνω θέλει αρκετό χρόνο, και επειδή για αρχή θα πρέπει να λειτουργεί κάποιο service πιλοτικά. Λοιπόν έχω την παρακάτω web method
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Function getAllCustomers() As String
Using myConnection As New SqlConnection("Data Source=.\sqlexpress;Initial Catalog=DBName;Integrated Security=True;User ID=sa;Password=;")
If myConnection.State = ConnectionState.Closed Then
myConnection.Open()
End If
Dim DRAllData As SqlDataReader
Dim myCommand As New SqlCommand
myCommand.Connection = myConnection
myCommand.CommandType = CommandType.Text
Try
myCommand.CommandText = "Select Top 10 CustomerID,FName,LName From Customers"
DRAllData = myCommand.ExecuteReader
Dim DTAllData As New DataTable
DTAllData.Load(DRAllData)
Return ConvertJSON.GetJSONString(DTAllData)
Catch ex As Exception
Return ""
End Try
End Using
End Function
γίνεται convert sε μορφή Json με την παρακάτω κλάση,
'Μετατρέπει ένα DataTable με δεδομένα σε JSON αντικείμενο.
Public Shared Function GetJSONString(ByVal Dt As DataTable) As String
Dim StrDc As String() = New String(Dt.Columns.Count - 1) {}
Dim HeadStr As String = String.Empty
For i As Integer = 0 To Dt.Columns.Count - 1
StrDc(i) = Dt.Columns(i).Caption
HeadStr += """" & StrDc(i) & """ : """ & StrDc(i) & i.ToString() & "¾" & ""","
Next
HeadStr = HeadStr.Substring(0, HeadStr.Length - 1)
Dim Sb As New StringBuilder()
Sb.Append("{""" & Convert.ToString("WebServiceData") & """ : [")
For i As Integer = 0 To Dt.Rows.Count - 1
Dim TempStr As String = HeadStr
Sb.Append("{")
For j As Integer = 0 To Dt.Columns.Count - 1
TempStr = TempStr.Replace(Dt.Columns(j).ToString & j.ToString() & "¾", Dt.Rows(i)(j).ToString())
Next
Sb.Append(TempStr & "},")
Next
Sb = New StringBuilder(Sb.ToString().Substring(0, Sb.ToString().Length - 1))
Sb.Append("]}")
Return Sb.ToString()
End Function
αλλα πάλι μου βάζει xml header
<string xmlns="http://www.minosnet.gr/">{"WebServiceData" : [{"CustomerID" : "31","FName" : "ÎÏÏÏαÏ","LName" : "ÎοÏ
ÏÏοÏ
λάκηÏ"},{"CustomerID" : "32","FName" : "ÎιάννηÏ","LName" : "ÎαÏαμοÏ
ÏαδάκηÏ"},{"CustomerID" : "33","FName" : "ÎζαμÏÎλα","LName" : "ΣÏεÏανοÏ
δάκη"},{"CustomerID" : "34","FName" : "ÎαÏαλία","LName" : "ÎελαÏδή"},{"CustomerID" : "35","FName" : "ÎιÏήνη","LName" : "ÎνδÏεαδάκη"},{"CustomerID" : "36","FName" : "ÎαÏία","LName" : "Τζιλιβάκη"},{"CustomerID" : "37","FName" : "ÎοÏίνα","LName" : "ÎαÏεδάκη"},{"CustomerID" : "38","FName" : "κκκκ","LName" : "ÎαÏεδάκη"},{"CustomerID" : "39","FName" : "ÎανÏληÏ","LName" : "ÎÏ
λÏνάκηÏ"},{"CustomerID" : "40","FName" : "ÎιÏÏγοÏ","LName" : "ΤÏιλιβάκηÏ"}]}</string>
πώς μπορώ να επιστρέφει η ςeb method μόνο το Json αντικείμενο; Να επιστρέφω αντικείμενο τύπου Customers?(Με αντίστοιχη κλάση Customer)
ευχαριστώ και πάλι.