[英]Passing Array from Javascript to C#
我有一個包含數組的.js腳本:
js的輸出如下:
var foo=
[
{
"bar1":"value1",
"bar2":"value2"
// And so on...
}
]
我無權訪問js源,因此我無法輸出為JSON和反序列化。
我只能使用WebClient
將其作為字符串獲取,但是我如何解析它並創建數組/字典並在C#中對其進行處理?
您應該考慮調用WebClient.DownloadString
。 然后使用JSON.Net
解析
按照那里提供的示例
string json = @"{
""Name"": ""Apple"",
""Expiry"": "2008-12-28T00:00:00",
""Price"": 3.99,
""Sizes"": [
""Small"",
""Medium"",
""Large""
]
}";
JObject o = JObject.Parse(json);
string name = (string)o["Name"];
// Apple
JArray sizes = (JArray)o["Sizes"];
string smallest = (string)sizes[0];
// Small
var foo = new JavaScriptSerializer().Deserialize<List<YourModelHere>>(YourString);
您可以使用JavaScriptSerializer
反序列化該字符串:
string str=
@"var foo =
[
{
""bar1"":""value1"",
""bar2"":""value2""
}
]";
JavaScriptSerializer js = new JavaScriptSerializer();
var o = js.Deserialize<Dictionary<string,string>[]>(str.Substring(str.IndexOf('[')));
結果:
Dictionary<String,String> (2 items)
Key Value
------ --------
bar1 value1
bar2 value2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.