JSON形式の辞書をWebサービスに送る必要があります(VB.Netアプリケーションから)。POST Dictionary as JSON
以下コードです:私のWebサービスで
Dim dict As New Dictionary(Of String, String)
dict.Add("Drinks", "2")
dict.Add("ID", "1")
Dim parameters As String = JsonConvert.SerializeObject(dict)
Dim jsonString As String = "{""Pram"":""" + parameters + """}"
Dim Uri As New Uri(String.Format("http://***/WebServices/UpdateSQL"))
Dim data = Encoding.Default.GetBytes(jsonString)
Dim result_post As String = SendRequest(Uri, data, "application/json", "POST")
(ASP.NETのC#の)私は、文字列の上に捕獲しようとしています以下のコードのように
public ActionResult UpdateSQL(string Pram)
私は、エラーコード500を取得しています:内部サーバーエラー。 VBアプリケーションから個々のフィールドを渡そうとしましたが、うまくいきます。私は文字列として辞書をシリアル化し、しようとすると、
public ActionResult UpdateSQL(string SQL, string TableName, string Drinks, string ID)
それだけだ:私は個々のフィールド
Dim jsonString As String = "{""SQL"":""" + sSQL + """," &
"""TableName"":""" + tableName + """," &
"""Drinks"":""""2"",""ID"":""1""}"
作品は絶対に罰金送信され、コードの以下のようにWebサービスに捕獲されている上記のJSON文字列を送信する場合、以下のコードがあります送信すると、内部サーバーエラーが発生します。 私はsomething.Thanks
完全なエラーメッセージをデバッグして投稿する可能性がありますか?また、 '' jsonString'に '' 'の' 'parameters 'を' '完全なオブジェクトとしてシリアライズする理由はありません。現在のバージョンでは文字列で表されるオブジェクトになります。 – Icepickle
@Icepickle Thanksあなたの提案はトリックでした。「少なくともそれは私のWebサービスコードに当たっています。しかし、Pramの値が "null"になりました。 パラメータ: "{" "飲み物" ":" "2" "、" "ID" ":" 1 ""} " jsonString:" {"" Pram "": 私のWebサービスでは、Pramの値は何とかnullです。あなたはアドバイスをお願いします。何が問題なのでしょうか。ありがとう。 – Gaurav
これは驚くことではありませんが、jsonオブジェクトを送信しています。これは、 'SQL'、' TableName'、 'Drinks'および' ID'というプロパティを持つオブジェクトを含む 'Pram'プロパティを持つオブジェクトを期待していると仮定します。 – Icepickle