J'essaie d'utiliser JSON .NET avec une demande WebRequest, pour récupérer JSON en utilisant "GET". Essentiellement, je suis coincé sur la partie analyse et saisissant l'élément à tester. WebResponse, comment procéder pour récupérer le fichier JSON en utilisant webResponse? L'API.php est un moyen pour moi de me connecter à une base de données de site Web pour me connecter. Si la connexion réussit, elle renvoie un objet JSON.Réponse Demande JSON
string sAddress = "http://hitsparkinteractive.com/api.php";
// Get the hash
string addrParams = "action=authenticate";
addrParams += "&username=" + user;
addrParams += "&password=" + pwd;
WebRequest webRequest = WebRequest.Create(sAddress + "?" + addrParams);
webRequest.Timeout = 3000;
WebResponse webResponse = webRequest.GetResponse();
JObject retJSON;
retJSON = JObject.Parse(webResponse.ToString());
Ce code fonctionne à partir de Visual Basic 6, qui utilise WinHTTPRequest. JSON est en fait une chaîne représentant des objets sérialisés.
Private Function AuthenticateUser(ByVal index As Long, ByVal Username As String, ByVal Password As String) As Long
Dim HTTP As WinHttpRequest, sAddress As String, addrParams As String
Dim JSONParser As Object, retJSON As String, ErrorCode As String, ErrorMsg As String
On Error Resume Next
sAddress = "http://hitsparkinteractive.com/api.php"
addrParams = "action=authenticate"
addrParams = addrParams & "&username=" & Username
addrParams = addrParams & "&password=" & Password
Set HTTP = New WinHttpRequest
HTTP.Open "GET", sAddress & "?" & addrParams, False
HTTP.SetTimeouts 250, 250, 250, 3000
HTTP.Send
retJSON = HTTP.ResponseText
Set HTTP = Nothing
' Parse your JSON here.
Set JSONParser = JSON.parse(retJSON) ' What is returned is Scripting.Dictionary object
If Not JSONParser Is Nothing Then
If JSONParser.Exists("error") Then ' keys are case sensitive I believe
' We errored out
ErrorCode = JSONParser.Item("error")
Select Case ErrorCode
Case "3"
AuthenticateUser = 1
Case Else
AuthenticateUser = 2
End Select
ErrorMsg = JSONParser.Item("message")
Call AlertMsg(index, ErrorMsg)
Exit Function
ElseIf JSONParser.Exists("hash") Then ' we got our hash, sucessfully authenticated
TempPlayer(index).Hash = JSONParser.Item("hash")
AuthenticateUser = 0
Exit Function
End If
Else
AuthenticateUser = 3
Call AlertMsg(index, "Request timed out, please try again.")
Exit Function
End If
End Function