2013-08-20 2 views
-1

У меня возникли проблемы с поиском способа преобразования Dictionary(Of String, Object) в строку объекта JSON в консольном приложении vb.net.Как создавать и хранить объекты JSON в исполняемом файле vb.net?

Когда это было в ASP я использовал метод JavaScriptSerializer.Serialize() сериализацию словаря, но теперь я в vb.net консоли и не имею доступа к классам system.web

Он должен выполняться в исполняемом файле, который может запускаться автоматически (из запланированной задачи Windows) один раз в день для хранения данных в текстовых файлах (позже мы перейдем к отдельной временной базе данных), так что нагрузка меньше на база данных.

Раньше это было сделано в сценариях asmx, но это работало только при тестировании, было бы непрактично, чтобы он каждый день запускался из веб-браузера человеком, потому что он оставляет место для человеческой ошибки. Мы попытались открыть страницы в IExplorer из пакетных сценариев, но браузер дает ошибки безопасности в отношении сертификата безопасности страницы, и для этого требуется взаимодействие с человеком, это необходимо автоматизировать как можно скорее.

Я бы не возражал, если один из вас имел свою собственную функцию, которая преобразуется по меньшей мере, массив в объект JSON строки, так что я могу хранить его

+1

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

+1

'Я в консоли vb.net и не имею доступа к System.Web', вы все равно можете использовать его, добавив * ссылку * в систему .Web (или System.Web.Extensions). – I4V

+0

@ I4V, так что я импортирую его? потому что я получаю сообщение об ошибке при импорте; System.Web.Script не существует, и мне нужен класс JavaScriptSerializer из System.Web.Script.Serialization – pythonian29033

ответ

0

Когда это было в ASP. Я использовал метод JavaScriptSerializer.Serialize() для сериализации словаря, но теперь я нахожусь в консоли vb.net и не имею доступа к классам System.Web

Даже в консольных приложениях вы можете использовать свой JavaScript-сервер . Просто добавьте ссылку на System.Web.Extensions.

0

Вы можете использовать JSON.NET сериализовать Vb массивы JSON. Не думайте, что есть lib, который может сериализовать словарь.

Кстати, я звоню ASPX страницы со следующей .vbs скриптом и он работает нормально, без каких-либо проблем безопасности:

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, чтобы открыть URL-адрес в браузере. , Я не уверен, что вы поняли, в чем проблема с этим, но я решил это с чужого ответа, спасибо в любом случае – pythonian29033

Смежные вопросы