2014-12-02 2 views
0

У меня вопрос о разборе данных JSON с JScript .NET, 4.0. Я использую Visual Studio 2005, работающий в Windows XP, чтобы создать форму Windows (в отличие от веб-сайта).Как обработать ответ массива JSON в JScript .NET 4.0?

Моих RESTful вызовов API возвращают данные в формате JSON в виде массива объектов, например:

[{"country": "USA", "state": "CA", "city": "San Francisco”}, {“country”: “USA”, “state”: “WA”, “city”: “Seattle”}, {"country": "USA", "state": “MA", "city": “Boston”}], 

, и я не знаю, как разобрать его в работоспособный объект. Я думаю, мне нужно что-то вроде сериализатора/десериализатора, такого как DataContractJsonSerializer, чтобы это сделать, см. MSDN, но мне трудно реализовать его в JScript .NET 4.

+0

Если вы все еще нужны, [см этого ответа] (HTTP: //stackoverflow.com/a/34915829/1683264) для простого способа импорта методов JSON из COM-объекта 'htmlfile'. – rojo

ответ

0

Я не уверен, что вы уже перешли от этого , и я, вероятно, нуждаюсь в дополнительной информации, чтобы помочь, но у меня есть сценарии коллекции, которые служат библиотекой, чтобы делать общие вещи в jscript. Одна общая задача - я могу сделать вызов с одного из этих скриптов на какой-то api и вернуть json. Чтобы разобрать его, я пошел на json.org и загрузил json2.js. Как только я получил это, я могу позвонить:

var data = JSON.parse(string_from_api) 

Как и в JavaScript в современном браузере. Я включил json2.js в тот же каталог, что и все мои другие скрипты в библиотеке. Проблема в том, что JScript.net (насколько мне известно) не имеет объекта JSON, который находится в современных браузерах. Вы должны добавить его сами. Как только вы это сделаете, вы можете воспользоваться сериализацией и десериализацией объектов JSON, которые он предлагает.

-1

Это то, что я сделал!

var cfg = eval('('+File.ReadAllText(Directory.GetCurrentDirectory()+"\\Config.json")+')'); 

Directory.GetCurrentDirectory() является путем applicacion

File.ReadAllText(...) является чтение файла JSON

eval('('+ $$ +')') .. Eval .. XD

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