如何得到需要的值。
{"001":[{"level":"1","name":"a1","circle":"0","gender":"w","job":"8","head":"3.jpg"},
{"ll":"1","name":"a2","circle":"0","gender":"w","job":"8","head":"3.jpg"},
{"ll":"1","name":"a8","circle":"0","gender":"w","job":"a","head":"5.jpg"}],
"002":[{"ll":"1","name":"a3","circle":"0","gender":"w","job":"a","head":"0.jpg"}],
"003":[{"ll":"1","name":"a4","circle":"0","gender":"w","job":"a","head":"3.jpg"}],
"004":[{"ll":"1","name":"a5","circle":"0","gender":"w","job":"a","head":"5.jpg"}],
"005":[{"ll":"8","name":"a6","circle":"0","gender":"m","job":"a","head":"4.jpg"}],
"006":[{"ll":"28","name":"a7","circle":"0","gender":"w","job":"a","head":"3.jpg"}]}
如何循环得到比如001,和001里面的name的a1值,这两个值,然后002,和002里面的name的a3值,如何循环的解析
[最优解释]
string str = File.ReadAllText("D:\\1.txt", Encoding.Default);
var ary = Regex.Matches(str, @"""(\w+)"":\[({.*?""name"":""([^""]+)""[^}]*}[,\]]\s*)+").Cast<Match>().Select(t => new { key = t.Groups[1].Value, name = t.Groups[3].Captures.Cast<Capture>().Select(tt => tt.Value).ToArray() }).ToArray();
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var data = { "001": [{ "level": "1", "name": "a1", "circle": "0", "gender": "w", "job": "8", "head": "3.jpg" },
{ "ll": "1", "name": "a2", "circle": "0", "gender": "w", "job": "8", "head": "3.jpg" },
{ "ll": "1", "name": "a8", "circle": "0", "gender": "w", "job": "a", "head": "5.jpg"}],
"002": [{ "ll": "1", "name": "a3", "circle": "0", "gender": "w", "job": "a", "head": "0.jpg"}],
"003": [{ "ll": "1", "name": "a4", "circle": "0", "gender": "w", "job": "a", "head": "3.jpg"}],
"004": [{ "ll": "1", "name": "a5", "circle": "0", "gender": "w", "job": "a", "head": "5.jpg"}],
"005": [{ "ll": "8", "name": "a6", "circle": "0", "gender": "m", "job": "a", "head": "4.jpg"}],
"006": [{ "ll": "28", "name": "a7", "circle": "0", "gender": "w", "job": "a", "head": "3.jpg"}]
};
//alert(data["001"]);
alert(data["001"][0].name); //a1
alert(data["002"][0].name); //a3
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
string str = File.ReadAllText("D:\\1.txt", Encoding.Default);
var ary = Regex.Matches(str, @"""(\w+)"":\[.*?""name"":""([^""]+)""").Cast<Match>().Select(t => new { key = t.Groups[1].Value, name = t.Groups[2].Value }).ToArray();