解决方案 »

  1.   


      JToken[] valueDict1;
        private void button21_Click(object sender, EventArgs e)
        {
            string json = "{\"QUES_JSON\":[{\"chapter\": true,\"code\":\"一\",\"name\":\"一般情况\", \"type\": \"part\",\"values\":{ }},{\"chapter\": false, \"code\": \"1.1\",\"name\": \"性别\",\"type\": \"radio\",\"valueDict\":[{\"code\":\"1\",\"name\":\"男性\",\"type\":\"\",\"valueDict\": [ ]},{\"code\":\"2\",\"name\":\"女性\",\"type\":\"\",\"valueDict\":[ ]}],\"values\":{\"2\":{\"appends\": { },\"code\": \"2\",\"value\": \"女性\"}}}]}";
            JObject jo = (JObject)JsonConvert.DeserializeObject(json);
            JToken[] items = jo["QUES_JSON"].ToArray();      
            foreach (JToken it in items)
            {
                string chapter = it["chapter"].ToString();
                string code = it["code"].ToString();
                string name = it["name"].ToString();
                string type = it["type"].ToString();
                string values = it["values"].ToString();
                string chapter1 = items[1]["chapter"].ToString();
                string code1 = items[1]["code"].ToString();
                string name1 = items[1]["name"].ToString();
                string type1 = items[1]["type"].ToString();               }
            valueDict1 = items[1]["valueDict"].ToArray();
            foreach (JToken v in valueDict1)
            {            string code2 = v["code"].ToString();
                string name2 = v["name"].ToString();
                string type2 = v["type"].ToString();
                string valueDict2 = v["valueDict"].ToString();
            }
        }
      

  2.   

    public class tempHTML
    {
    [DataMember(Order = 1, Name = "QUES_JSON")]
    public Ques_JSON QUES_JSON { get; set; } [DataContract]
    public class Ques_JSON
    {
    [DataMember(Order = 1, Name = "Value")]
    public List<ValueChild> ValueChild { get; set; }

    }
    [DataContract]
    public class ValueChild
    {
    [DataMember(Order = 1, Name = "chapter")]
    public bool chapter { get; set; }

    [DataMember(Order = 2, Name = "code")]
    public string code { get; set; } [DataMember(Order = 3, Name = "name")]
    public int name { get; set; } [DataMember(Order = 4, Name = "type")]
    public int type { get; set; } [DataMember(Order = 5, Name = "valueDict")]
    public List<ValueDict> valueDict { get; set; } [DataMember(Order = 6, Name = "values")]
    public Values values { get; set; }
    } [DataContract]
    public class ValueDict
    {
    [DataMember(Order = 1, Name = "ValueDictChild")]
    public List<ValueDictChild>  valueDictChild { get; set; }
    } [DataContract]
    public class ValueDictChild
    {
    [DataMember(Order = 1, Name = "code")]
    public int code { get; set; } [DataMember(Order = 2, Name = "name")]
    public string name { get; set; } [DataMember(Order = 3, Name = "type")]
    public string type { get; set; } [DataMember(Order = 4, Name = "ValueDict")]
    public ValueDict valueDict { get; set; }
    } [DataContract]
    public class Values
    {
    [DataMember(Order = 1, Name = "Num")]
    public Dictionary<string, Num> values { get; set; }
    //public Num num { get; set; }
    } [DataContract]
    public class Num
    {
    [DataMember(Order = 1, Name = "appends")]
    public string appends { get; set; }
    [DataMember(Order = 2, Name = "code")]
    public string code { get; set; }
    [DataMember(Order = 3, Name = "value")]
    public string value { get; set; }
    }
    }如果用这种方式 该如何定义实体类啊