我有一个包含数组的.js脚本:
js的输出如下:
var foo=
[
{
"bar1":"value1",
"bar2":"value2"
// And so on...
}
]
我无权访问js源代码,因此无法输出为JSON和反序列化。
我只能使用WebClient
将其作为字符串获取,但我如何解析它并创建一个数组/字典并在C#中处理它?</ p>
答案 0 :(得分:1)
您应该考虑致电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
答案 1 :(得分:0)
var foo = new JavaScriptSerializer().Deserialize<List<YourModelHere>>(YourString);
答案 2 :(得分:0)
您可以使用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