我正在使用 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/