我需要發送一些領域(從VB.Net應用程序)在字典中作爲JSON格式的Web服務。POST字典作爲JSON
下面是代碼:我試圖捕捉到上面的字符串,如下面的代碼
public ActionResult UpdateSQL(string Pram)
我收到錯誤代碼500
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")
在我的web服務(ASP.NET C#):內部服務器錯誤。我嘗試從VB應用程序傳遞單個字段,並且工作正常。下面是代碼,如果我給個別領域
Dim jsonString As String = "{""SQL"":""" + sSQL + """," &
"""TableName"":""" + tableName + """," &
"""Drinks"":""""2"",""ID"":""1""}"
時所發送的作品精美絕倫,並在Web服務被捕獲如下代碼上面的JSON字符串:
public ActionResult UpdateSQL(string SQL, string TableName, string Drinks, string ID)
只有當我序列解釋爲字符串,並嘗試發送,獲取內部服務器錯誤。 請告知,如果我缺少something.Thanks
任何機會,您可以調試併發布完整的錯誤消息?另外,沒有理由在''''''''''''jsonString'中包裝''''參數,因爲它會被序列化爲一個完整的對象,而在你當前的版本中,它將是一個由字符串表示的對象 – Icepickle
@Ipickle謝謝很多,你的建議做了訣竅,通過刪除「至少它現在觸及我的Web服務代碼。但是現在Pram收到「空」價值。以下是一些參考值: 參數:「{」「Drinks」「:」「2」「,」「ID」「:」「1」「}」 jsonString:「{」「Pram」「: {「」Drinks「」:「」2「」,「」ID「」:「」1「」}}「 在我的webservices中,Pram值爲空。你能否建議,可能是什麼問題。謝謝。 – Gaurav
這並不奇怪,你正在發送一個json對象,它假定你正在期待一個屬性爲'Pram'的對象,其中包含一個屬性爲'SQL','TableName','Drinks'和'ID'的對象 – Icepickle