2017-08-10 19 views
2

我試圖從HttpTrigger類型的Azure的函數返回JArray對象:問題與Azure的功能HttpTrigger返回JArray

JArray a = JArray.Parse("[{\"reportId\": \"1111\",\"reportName\": \"AAAA\"}]"); 
return req.CreateResponse(HttpStatusCode.OK, a); 

然而,出於某種原因,響應體返回:

[{"reportId":[],"reportName":[]}] 

我做錯了什麼?

+0

你可以編輯你的問題,幷包括正在嘗試解析的正確字符串嗎?你所包含的那個是缺少結束雙引號。 –

+0

現在好嗎? –

+0

這裏的JSON數組有什麼問題?爲什麼重新發明輪子? – Graham

回答

1

Azure函數要求您使用Newtonsoft.Json版本9.0.1,因爲我們不支持綁定重定向。您的代碼與Functions主機在相同的進程中運行,這意味着您具有相同的綁定重定向。

我們正在改進Visual Studio體驗,以便清楚地看到依賴關係存在嚴格的上限。

+0

我明白,如果我們使用比函數所需的更新版本時會出現此錯誤。如果我們使用Newtonsoft.Json版本9.0.1,並在下一個版本中切換到版本,會發生什麼情況。 10+。那麼我們是否需要更新我們的依賴關係以保持與運行時正在使用的內容保持一致? –

+0

感謝唐娜的迴應。目前,當您使用VS 2017 Preview插件創建新的Functions項目時,它會使用Newtonsoft.Json 10.0.2進行設置。 (是的,我知道使用預覽軟件的後果:D)我想知道Json.Net 10.0.0中引發這種行爲的變化是什麼。 –

+0

@BorisLipschitz這不應該發生!您使用的是什麼版本的功能擴展? –

3

我可以用Newtonsoft.Json版本10+來重現問題。如果可以降級,請嘗試使用Newtonsoft.Json version 9.0.1。然後它在我身邊正常工作。我們還可以向Azure團隊發送issue

+0

所以,這是一個錯誤,然後...... –

+0

看來,這是一個問題。目前我們可能會使用Newtonsoft.Json版本9.0.1作爲解決方法。 –