[英]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.