2014-12-02 126 views
0

我有一個關於使用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: //stackoverflow.com/a/34915829/1683264)提供了一種簡單的方法來從'htmlfile' COM對象中導入JSON方法。 – rojo 2016-01-21 05:17:20

回答

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('('+ $$ +')') ..評估和演示.. XD