/// <summary>
        /// 将字符串转换成学生答题结果对象
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        private StudentAnswerBase TranslateAnswer(string json)
        {
            JObject           o    = JsonConvert.DeserializeObject(json) as JObject;
            StudentAnswerBase data = null;

            switch ((SubjectTypeEnum)Convert.ToInt32(o["type"]))
            {
            case SubjectTypeEnum.择题:
                data = new StuSelectAnswer()
                {
                    Type            = (int)SubjectTypeEnum.择题,
                    Answers         = JsonConvert.DeserializeObject <List <int> >(o["sanw"].ToString()),
                    OptionSequences = JsonConvert.DeserializeObject <List <int> >(o["sops"].ToString())
                };
                break;

            case SubjectTypeEnum.判断题:
                data = new StuTrueFalseAnswer()
                {
                    Type   = (int)SubjectTypeEnum.判断题,
                    Answer = Convert.ToInt32(o["sanw"])
                };
                break;

            case SubjectTypeEnum.填空题:
                data = new StuBlankAnswer()
                {
                    Type    = (int)SubjectTypeEnum.填空题,
                    Answers = JsonConvert.DeserializeObject <List <BlankAnswerItem> >(o["sanw"].ToString())
                };
                break;

            case SubjectTypeEnum.择填空:
                data = new StuSelectBlankAnswer()
                {
                    Type            = (int)SubjectTypeEnum.择填空,
                    Answers         = JsonConvert.DeserializeObject <List <int[]> >(o["sanw"].ToString()),
                    OptionSequences = JsonConvert.DeserializeObject <List <int> >(o["sops"].ToString())
                };
                break;

            case SubjectTypeEnum.连线题:
                data = new StuMatchAnswer()
                {
                    Type                 = (int)SubjectTypeEnum.连线题,
                    Answers              = JsonConvert.DeserializeObject <List <int[]> >(o["sanw"].ToString()),
                    LeftOptionSequences  = JsonConvert.DeserializeObject <List <int> >(o["slos"].ToString()),
                    RightOptionSequences = JsonConvert.DeserializeObject <List <int> >(o["sros"].ToString())
                };
                break;

            case SubjectTypeEnum.主观题:
                data = new StuFreeAnswer()
                {
                    Type   = (int)SubjectTypeEnum.主观题,
                    Answer = o["sanw"].ToString()
                };
                break;

            case SubjectTypeEnum.圈点批注标色:
                data = new StuMarkColorAnswer()
                {
                    Type    = (int)SubjectTypeEnum.圈点批注标色,
                    Answers = JsonConvert.DeserializeObject <List <int[]> >(o["sanw"].ToString())
                };
                break;

            case SubjectTypeEnum.圈点批注断句:
                data = new StuMarkCutAnswer()
                {
                    Type    = (int)SubjectTypeEnum.圈点批注断句,
                    Answers = JsonConvert.DeserializeObject <List <int> >(o["sanw"].ToString())
                };
                break;
            }
            if (data != null)
            {
                data.SubjectId    = Convert.ToInt32(o["sbId"]);
                data.ResultStars  = Convert.ToInt32(o["rtar"]);
                data.SubjectCoins = Convert.ToInt32(o["scon"]);
                data.ResultCoins  = Convert.ToInt32(o["rcon"]);
                data.KnowledgeId  = Convert.ToInt32(o["kdge"]);
            }
            return(data);
        }
        public Yw_StudentStudyTaskAnswerExt MakeTranslator(Yw_StudentStudyTaskAnswer entity)
        {
            Yw_StudentStudyTaskAnswerExt realEntity = entity.ConvertTo <Yw_StudentStudyTaskAnswerExt>();

            if (!string.IsNullOrEmpty(entity.Yta_StudentAnswer))
            {
                realEntity.Yta_Answer_Obj = new StudentAnswerCard();

                JObject jo = JsonConvert.DeserializeObject(entity.Yta_StudentAnswer) as JObject;

                realEntity.Yta_Answer_Obj.UseTime    = Convert.ToInt32(jo["UTim"]);
                realEntity.Yta_Answer_Obj.SubmitTime = jo["STim"].ToString();
                realEntity.Yta_Answer_Obj.TotalStars = (int)jo["EStar"];
                realEntity.Yta_Answer_Obj.TotalCoins = (int)jo["TCoin"];
                realEntity.Yta_Answer_Obj.Part       = (int)jo["Part"];

                string innerJson = jo["Anws"].ToString();
                JArray items     = JsonConvert.DeserializeObject(innerJson) as JArray;

                foreach (JObject o in items)
                {
                    if ((int)o["Type"] == (int)SubjectTypeEnum.择题)
                    {
                        StuSelectAnswer an = JsonConvert.DeserializeObject <StuSelectAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                    else if ((int)o["Type"] == (int)SubjectTypeEnum.填空题)
                    {
                        StuBlankAnswer an = JsonConvert.DeserializeObject <StuBlankAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                    else if ((int)o["Type"] == (int)SubjectTypeEnum.判断题)
                    {
                        StuTrueFalseAnswer an = JsonConvert.DeserializeObject <StuTrueFalseAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                    else if ((int)o["Type"] == (int)SubjectTypeEnum.择填空)
                    {
                        StuSelectBlankAnswer an = JsonConvert.DeserializeObject <StuSelectBlankAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                    else if ((int)o["Type"] == (int)SubjectTypeEnum.连线题)
                    {
                        StuMatchAnswer an = JsonConvert.DeserializeObject <StuMatchAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                    else if ((int)o["Type"] == (int)SubjectTypeEnum.主观题)
                    {
                        StuFreeAnswer an = JsonConvert.DeserializeObject <StuFreeAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                    else if ((int)o["Type"] == (int)SubjectTypeEnum.圈点批注标色)
                    {
                        StuMarkColorAnswer an = JsonConvert.DeserializeObject <StuMarkColorAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                    else if ((int)o["Type"] == (int)SubjectTypeEnum.圈点批注断句)
                    {
                        StuMarkCutAnswer an = JsonConvert.DeserializeObject <StuMarkCutAnswer>(o.ToString());
                        realEntity.Yta_Answer_Obj.AnswerCollection.Add(an);
                    }
                }
            }
            return(realEntity);
        }