json里面有数组怎么读取啊{"a":7,"b":6,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":21,"l":12,"m":18,"n":{"33980587":1,"414221095":1,"554164531":1},"o":0,"p":[],"q":1255917099,"r":1255978299},{"a":2,"b":6,"c":0,"d":0,"e":1,"f":1,"g":0,"h":1,"i":100,"j":0,"k":16,"l":9,"m":12,"n":{"33980587":1,"414221095":1,"554164531":1,"67640767":1},"o":0,"p":{"1255938367":[6]},"q":1255902667,"r":1255938667}"n":{"33980587":1,"414221095":1,"554164531":1},这个是个数组。net2.0,我知道用控件,用的是Jason.net 1.3支持.net 2.0的版本,想知道怎么读取这种格式的json最好用jason.net实现

解决方案 »

  1.   

    在后台是将JSON映射到对象的吧,从对象中读取
      

  2.   

           SearchCriterion sc = new SearchCriterion();
            sc.CriterionName = "Criterion Name";
            CriterionGroup cGrpup = new CriterionGroup();
            cGrpup.GroupName = "Basic Info";
            cGrpup.MatchType = MatchType.Or;
            DoubleBasic bc = new DoubleBasic();
            bc.FieldName = "Name";
            bc.TableName = "Skill";
            bc.Operator = Operator.Equal;
            bc.Value = "java";
            bc.FieldName2 = "ExperienceMonths";
            bc.Value2 = "3";
            bc.Operator2 = Operator.EqualOrGreater;
            bc.MatchType = MatchType.And;        cGrpup.BasicCriterion.Add(bc);        sc.CriterionGroup.Add(cGrpup);
    //序列化成字符串 可转给前能
            String s = Newtonsoft.Json.JsonConvert.SerializeObject(sc);
            Response.Write(s);
    //反序列化成对象
            SearchCriterion nsc = Newtonsoft.Json.JsonConvert.DeserializeObject<SearchCriterion>(s);
            Response.Write("<br>"+nsc.CriterionName);
      

  3.   

    没人给个实际的读法啊
    {"30020200":{"1":1256141295},"276538901":{"1":1256145598},"1037813810":{"1":1256132694},"757009521":{"2":1},"10130086":{"1":0},"385262338":{"1":1255978126},"652851574":{"1":1256140309}}
    我想读这样的json要怎么读?
      

  4.   


      //简单点[事先要转成object,可直接变量eval]
    var _str={"30020200":{"1":1256141295},"276538901":{"1":1256145598},"1037813810":{"1":1256132694},"757009521":{"2":1},"10130086":{"1":0},"385262338":{"1":1255978126},"652851574":{"1":1256140309}} 
      //如读
    "1":1256141295==>
     alert(_str.30030200.1).依次类推读取属性