JSON Fehler -32700 parse error seit Version 4.0

Hi,

hab heute die neue Version 4 installiert. Wenn ich nun versuche via JSON eine Abfrage zu machen erhalte ich folgende Antwort:

{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error"},"id":null}

Die Abfrage mache ich via VB.NET:

        Net.ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptCert)

        ' Create a request using a URL that can receive a post. 
        Dim request As Net.WebRequest = Net.WebRequest.Create(IP_Symcon_Server)
        ' Set the Method property of the request to POST.
        request.Method = "POST"
        'request.Credentials = New System.Net.NetworkCredential("xxxx@web.de", "123")
        ' Create POST data and convert it to a byte array.
        request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes("Beispiel@web.de" + ":" + "123456")))

        Dim postData As String = "{'jsonrpc': '2.0', 'method': 'IPS_GetSnapshotChanges', 'params': [0], 'id': 1}"
        Dim byteArray As Byte() = System.Text.Encoding.UTF8.GetBytes(postData)
        ' Set the ContentType property of the WebRequest.
        request.ContentType = "application/json"
        ' Set the ContentLength property of the WebRequest.
        request.ContentLength = byteArray.Length
        ' Get the request stream.
        Dim dataStream As IO.Stream = request.GetRequestStream()
        ' Write the data to the request stream.
        dataStream.Write(byteArray, 0, byteArray.Length)
        ' Close the Stream object.
        dataStream.Close()
        ' Get the response.
        Dim response As Net.WebResponse = request.GetResponse()

        Dim myDB As New DBHomematicEntities

        ' Display the status.
        If CType(response, Net.HttpWebResponse).StatusDescription = "OK" Then
            ' Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream()
            ' Open the stream using a StreamReader for easy access.
            Dim reader As New IO.StreamReader(dataStream)
            ' Read the content.
            Dim responseFromServer As String = reader.ReadToEnd()

            'Antwort vom Server
            Dim AntwortVomServer As String = responseFromServer

Mit Version 3.X hatte noch alles funktioniert.

Jemand ne Idee woran es liegt?

Sendest du wirklich Hochkomma ’ anstatt Anfühtungszeichen "? Der JSON Parser der 4.0 ist sehr strikt. Der 3.4er war da etwas genügsamer.

Ggf. mal mit jsonlint.com prüfen :slight_smile:

paresy

Das war’s! In Version 3 hatte es noch mit den einfachen Hochkommas funktioniert.
Danke für die superschnelle Antwort!!