如何解析JScript .NET 4.0中的JSON数组响应?

问题描述:

我有一个关于使用JScript .NET 4.0解析JSON数据的问题。我使用在Windows XP中运行的Visual Studio 2005来制作Windows窗体(而不是网站)。如何解析JScript .NET 4.0中的JSON数组响应?

我的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: //*.com/a/34915829/1683264)提供了一种简单的方法来从'htmlfile' COM对象中导入JSON方法。 – rojo 2016-01-21 05:17:20

我不确定您是否已经从此,我可能需要更多的信息来帮助,但我有一个集合脚本作为jscript中常见事物的库。一个常见的任务是我可以从这些脚本中的一个脚本调用某个API并返回json。为了解析它,我去了json.org并下载了json2.js。一旦我得到了,我可以打电话给:

var data = JSON.parse(string_from_api) 

正如我将在JavaScript中的一个现代浏览器。我将json2.js包含在与库中所有其他脚本相同的目录中。问题是JScript.net(据我所知)没有现代浏览器中的JSON对象。你必须自己添加它。一旦你这样做了,你可以利用它提供的JSON对象序列化和反序列化。

这就是我所做的!

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

Directory.GetCurrentDirectory()是路径applicacion

File.ReadAllText(...)是读文件JSON

eval('('+ $$ +')') ..评估和演示.. XD