当前位置: 代码迷 >> ASP.NET >> 怎么得到需要的值
  详细解决方案

怎么得到需要的值

热度:4492   发布时间:2013-02-25 00:00:00.0
如何得到需要的值。
{"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值,如何循环的解析
------最佳解决方案--------------------------------------------------------
引用:
Cast缺少什么引用

 string str = File.ReadAllText("D:\\1.txt", Encoding.Default); 
            var ary = Regex.Matches(str, @"""(\w+)"":\[.*?""name"":""([^""]+)""");
//要是版本低的话,用循环也行            
foreach (Match m in ary)
            {
                Console.Write("序号:"+m.Groups[1].Value);
                Console.WriteLine("name:" + m.Groups[2].Value);
            }
------其他解决方案--------------------------------------------------------
json转为对象(System.Runtime.Serialization.Json、System.Web.Script.Serialization、Newtonsoft.Json),循环对象!
------其他解决方案--------------------------------------------------------

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();

这个获取了001和001里面的name三个值
------其他解决方案--------------------------------------------------------
!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"}],
  相关解决方案