使用下面的代码,我可以得到以下值:
<title>@yield('title')</title>
...
<h1>@yield('title')</h1>
我需要的是能够通过json文件选择某个值,然后获取其子级。发送“ 101”的示例应该可以得到:
{
"101": [
{
"name": "Lane 2",
"code": 21
},
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
},
{
"name": "Lane 8",
"code": 81
},
{
"name": "Lane 9",
"code": 91
},
{
"name": "Lane 11",
"code": 111
}
],
"103": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 6",
"code": 61
}
],
"105": [
{
"name": "Lane 6",
"code": 61
},
{
"name": "Lane 9",
"code": 91
}
],
"107": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 5",
"code": 51
}
],
"109": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 5",
"code": 61
}
],
"111": [
{
"name": "Lane 2",
"code": 21
},
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
}
],
"113": [
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
},
{
"name": "Lane 8",
"code": 81
},
{
"name": "Lane 9",
"code": 91
}
],
"115": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 5",
"code": 51
}
],
"117": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
}
]
}
并将其放在课程上。到目前为止,这是我的代码:
Lane.json
{
"name": "Lane 2",
"code": 21
},
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
},
{
"name": "Lane 8",
"code": 81
},
{
"name": "Lane 9",
"code": 91
},
{
"name": "Lane 11",
"code": 111
}
Lane.cs
{
"101": [
{
"name": "Lane 2",
"code": 21
}
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
},
{
"name": "Lane 8",
"code": 81
},
{
"name": "Lane 9",
"code": 91
},
{
"name": "Lane 11",
"code": 111
}
],
"103": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 6",
"code": 61
}
],
"105": [
{
"name": "Lane 6",
"code": 61
},
{
"name": "Lane 9",
"code": 91
}
],
"107": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 5",
"code": 51
}
],
"109": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 5",
"code": 61
}
],
"111": [
{
"name": "Lane 2",
"code": 21
},
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
}
],
"113": [
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
},
{
"name": "Lane 8",
"code": 81
},
{
"name": "Lane 9",
"code": 91
}
],
"115": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 5",
"code": 51
}
],
"117": [
{
"name": "Lane 3",
"code": 31
},
{
"name": "Lane 4",
"code": 41
},
{
"name": "Lane 6",
"code": 61
}
]
}
这就是我获取值的方式
class Lane
{
public string name { get; set; }
public int code { get; set; }
}
class LaneContainer
{
public List<Lane> Lane { get; set; }
}
我收到这样的错误:
其他信息:解析值后,出现意外字符 遇到了:{。路径“ 101 [0]”,第7行,位置4。
您能帮我吗?谢谢。
答案 0 :(得分:2)
您缺少逗号,并且您的结构是Dictionary<string,List<Lane>>
class Lane
{
public string name { get; set; }
public int code { get; set; }
}
示例
获得101
var json = File.ReadAllText(path);
var lanes = JsonConvert.DeserializeObject<Dictionary<string, List<Lane>>>(json);
var results = lanes["101"];
答案 1 :(得分:1)
您可以像下面那样反序列化为Dictionary<int, Node[]>
并获取所需的特定密钥
Dictionary<int, Node[]> myDict = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<int, Node[]>>(json);
var data = myDict[100];
Node
public class Node
{
public int Code { get; set; }
public string Name { get; set; }
}