使用 asp.net 的内置库(System.Runtime.Serialization 和 System.ServiceModel.Web),您可以轻松获得所需内容:
string[][] parsed = null;
var jsonStr = @"[[""Boston"",""142"",""JJK""],[""Miami"",""111"",""QLA""],[""Sacramento"",""042"",""PPT""]]";
using (var ms = new System.IO.MemoryStream(System.Text.Encoding.Default.GetBytes(jsonStr)))
{
var serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(string[][]));
parsed = serializer.ReadObject(ms) as string[][];
}
一个更复杂的例子(这是我原来的答案)
首先制作一个用于序列化的虚拟类。它只需要一个成员来保存应该是 string[][] 类型的结果。
[DataContract]
public class Result
{
[DataMember(Name="d")]
public string[][] d { get; set; }
}
然后就像将结果包装起来一样简单:{ "d": /<em>your results</em>/ }。请参阅下面的示例:
Result parsed = null;
var jsonStr = @"[[""Boston"",""142"",""JJK""],[""Miami"",""111"",""QLA""],[""Sacramento"",""042"",""PPT""]]";
using (var ms = new MemoryStream(Encoding.Default.GetBytes(string.Format(@"{{ ""d"": {0} }}", jsonStr))))
{
var serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(Result));
parsed = serializer.ReadObject(ms) as Result;
}