使用ServiceStack解析JSON

时间:2012-08-21 09:55:45

标签: c# json

如何解析这个json字符串?我试着把它放进词典

var dictionary = text.FromJson<Dictionary<string, string>>();

但未解析数组。

{"v":[[9,-1],[9,-44,1]]}

2 个答案:

答案 0 :(得分:3)

试试这个课程

public class Root
{
     public  List<List<int>> v;
}

var result = text.FromJson<Root>();

修改

由于您的json字符串已更改,我使用Json.Net

准备了一个示例
string json = @"{ v: [ [ 9, 16929, 1, 856, 128, '123', 'hello', {'type': 'photo', 'attach1': '123_456'} ] ] } ";
var obj = (JObject)JsonConvert.DeserializeObject(json);

foreach (var arr in obj["v"])
{
    foreach(var item in arr)
    {
        if (item is JValue)
        {
            Console.WriteLine(item);
        }
        else
        {
            Console.WriteLine(">>> " + item["type"]);
        }
    }
}

答案 1 :(得分:3)

您使用了错误的结构。您的值是一个多维数组,没有字符串。尝试Dictionary<String, List<List<int>>>

类型
var dictionary = text.FromJson< Dictionary<String, List<List<int>>>>();