2013-08-20 42 views
-1

我無法找到將Dictionary(Of String, Object)轉換爲vb.net控制檯應用程序中的JSON對象字符串的方法。如何在vb.net可執行文件中創建和存儲JSON對象?

當它在ASP我用JavaScriptSerializer.Serialize()方法序列化的詞典,但現在我在vb.net控制檯和具有對System.Web類

它用不上在能夠自動運行(從Windows計劃任務)的可執行文件來完成,每天一次,存儲在文本文件中的數據(我們稍後將移動到一個單獨的,臨時數據庫),以便有負載較小數據庫。

以前,這是在asmx腳本中完成的,但是這隻能在測試中使用,每天人們通過Web瀏覽器運行它是不切實際的,因爲它爲人爲錯誤留下了空間。 我們試圖打開從批處理腳本中IEXPLORER的網頁,但瀏覽器提供關於頁面的安全證書安全性錯誤,這點需要人際交往,這需要儘快自動化。

我不會介意,如果你有一個自己的功能轉換至少一個陣列成JSON對象的字符串,這樣我就可以存儲它

+1

https://github.com/JamesNK/Newtonsoft.Json – bryanmac

+1

'我在vb.net控制檯並且無法訪問System.Web',您仍然可以通過將* reference *添加到系統來使用它.Web(或System.Web.Extensions)。 – I4V

+0

@ I4V我也可以導入它?因爲導入時我得到一個錯誤; System.Web.Script不存在,我需要來自System.Web.Script.Serialization的JavaScriptSerializer類 – pythonian29033

回答

0

當它是在ASP中我使用JavaScriptSerializer.Serialize()方法序列化字典,但現在我在vb.net控制檯並且無法訪問System.Web類

即使在控制檯應用程序中,您也可以使用您的JavaScriptSerializer。只需添加引用System.Web.Extensions程序

0

您可以使用JSON.NET連載VB陣列JSON。不要認爲有一個可以序列化Dictionary的lib。

順便說一句,我打電話跟以下.vbs腳本aspx頁面和它沒有任何安全問題工作的罰款:

Dim o 
Set o = CreateObject("MSXML2.XMLHTTP") 

o.open "GET", "http://myserver/myjob.aspx", False 
o.setRequestHeader "timeout", "1800000" 
o.send 

WScript.Quit(0) 

,並擁有一批:

wscript c:\myscript.vbs 
+0

是不是這個VBScript? 問題是公司的服務器提供了自己的安全證書,所以瀏覽器給出錯誤,這個答案與我的問題沒有關係 – pythonian29033

+0

第一句是你的問題的答案(在你編輯它之前)。第二個是我如何在vbscript中打開網頁。沒有用ssl測試過,但可能也適用。 –

+0

我在cmd中使用的批處理腳本在瀏覽器中打開的網址了。 。 。我不確定你是否明白那是什麼問題,但是我用別人的回答解決了它,謝謝 – pythonian29033