c# JSON 直接嵌套数组

标签 c# arrays json json.net

我正在使用 RESTful api 并尝试处理返回的数据。数据本身由数组中的 json 数组组成。

{
  "category1": [
    [
      "http://url1",
      "URL 1 Title"
    ],
    [
      "http://url2",
      "URL 2 Title"
    ]
  ],
  "category2": [
    [
      "http://url3",
      "URL 3 Title"
    ]
  ],
  "category3": [
    [
      "http://url4",
      "URL 4 Title"
    ]
  ]
}

我创建了一个映射到上述内容的类,但我不知道如何解析结果并提取单个 URL 和 URL 标题。

我知道如果这些是对象我会怎么做,但不知道如何直接访问嵌套数组。

最佳答案

试试这个

class Output
{
     public string[][] category1 { get; set; }
     public string[][] category2 { get; set; }
     public string[][] category3 { get; set; }
}

class OutputCategory
{
     public string uri { get; set; }
     public string label { get; set; }
}

我已将您在 main() 方法中的代码修改为以下代码。

 string samplejson =
            @"{'category1':[['http://url1','URL 1 Title'],['http://url2','URL 2 Title']],'category2':[['http://url3','URL 3 Title']],'category3':[['http://url4','URL 4 Title']]}";

        //deserialised to my class object
        var result = JsonConvert.DeserializeObject<Output>(samplejson);

        //create new output object
        Output outCat = new Output();

        //I now want to assign the appropriate values to my new output object

        Console.WriteLine(result.category2.Length);
        Console.WriteLine("URL: " + result.category1[0][0]);
        Console.WriteLine("Title: " + result.category1[0][1]);

确保您检查数组的长度,然后继续处理您的结果。

关于c# JSON 直接嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005510/

相关文章:

Java震动: can't find proper spec for my transformation

javascript - Javascript 的 JSON.parse 有问题吗?

c# - 如何绑定(bind)到 Blazor 中集合/列表中的元素?

C# 在哪里选择

c - 如何在 C 中浏览任意长度的字符串数组?

c# - 在 C# 中实现通用非托管数组

c# - 将禁用的 TextBox 的 ForeColor 设置为与其在 C# 中的 BackColor 相同

c# - 如何将 "~/default.aspx"转换为 "http://www.website.com/default.aspx"C#?

c++ - 错误 : expected primary-expression before & token

java - 如何在 Java 中从 Jenkins 获取作业的最后构建日期