/// <summary> /// Read Json /// </summary> /// <param name="reader"></param> /// <param name="objectType"></param> /// <param name="existingValue"></param> /// <param name="serializer"></param> /// <returns></returns> public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { BaseMessageResponse[] result = null; var jArray = JArray.Load(reader); if (jArray != null) { result = new BaseMessageResponse[jArray.Count]; for (var i = 0; i < jArray.Count; i++) { var messageType = EnumHelper.Parse <Enums.Type>(jArray[i]["type"].ToString()); switch (messageType) { case Enums.Type.Text: result[i] = ApiAiJson <TextMessageResponse> .Deserialize(jArray[i].ToString()); break; case Enums.Type.Card: result[i] = ApiAiJson <CardMessageResponse> .Deserialize(jArray[i].ToString()); break; case Enums.Type.QuickReply: result[i] = ApiAiJson <QuickReplyMessageResponse> .Deserialize(jArray[i].ToString()); break; case Enums.Type.Image: result[i] = ApiAiJson <ImageMessageResponse> .Deserialize(jArray[i].ToString()); break; case Enums.Type.Custom_Payload: result[i] = ApiAiJson <PayloadMessageResponse> .Deserialize(jArray[i].ToString()); break; case Enums.Type.Simple_Response: result[i] = ApiAiJson <SimpleResponse> .Deserialize(jArray[i].ToString()); break; case Enums.Type.Suggestion_Chips: result[i] = ApiAiJson <SuggestionChips> .Deserialize(jArray[i].ToString()); break; default: result[i] = null; break; } } } return(result); }
public static BaseMessageResponse GetResponseMessage(string xmlstr) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlstr); XmlNodeList nodelist = doc.GetElementsByTagName("BusinessCode"); BaseMessageResponse responsemessage = null; if (nodelist.Count == 0 || nodelist == null) { return(responsemessage); //日志 } //XmlNode n = nodelist[0].SelectSingleNode("UserName"); XmlNode node = nodelist[0]; switch (node.InnerText) { case "102": responsemessage = XmlSerializerTools.FromXmlStr <Message102>(xmlstr, Encoding.Unicode); break; case "103": responsemessage = XmlSerializerTools.FromXmlStr <Message103>(xmlstr, Encoding.Unicode); break; case "110": responsemessage = XmlSerializerTools.FromXmlStr <Message110>(xmlstr, Encoding.Unicode); break; case "113": responsemessage = XmlSerializerTools.FromXmlStr <Message113>(xmlstr, Encoding.Unicode); break; case "114": responsemessage = XmlSerializerTools.FromXmlStr <Message114>(xmlstr, Encoding.Unicode); break; case "117": responsemessage = XmlSerializerTools.FromXmlStr <Message117>(xmlstr, Encoding.Unicode); break; case "119": responsemessage = XmlSerializerTools.FromXmlStr <Message119>(xmlstr, Encoding.Unicode); break; case "198": responsemessage = XmlSerializerTools.FromXmlStr <MessageSqlReturn198>(xmlstr, Encoding.Unicode); break; default: break; } return(responsemessage); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { BaseMessageResponse[] result = null; var jArray = JArray.Load(reader); if (jArray != null) { result = new BaseMessageResponse[jArray.Count]; for (var i = 0; i < jArray.Count; i++) { var messageType = (Domain.Enum.Type)System.Enum.Parse(typeof(Domain.Enum.Type), jArray[i]["type"].ToString()); switch (messageType) { case Domain.Enum.Type.Text: result[i] = ApiAiJson <TextMessageResponse> .Deserialize(jArray[i].ToString()); break; case Domain.Enum.Type.Card: result[i] = ApiAiJson <CardMessageResponse> .Deserialize(jArray[i].ToString()); break; case Domain.Enum.Type.QuickReply: result[i] = ApiAiJson <QuickReplyMessageResponse> .Deserialize(jArray[i].ToString()); break; case Domain.Enum.Type.Image: result[i] = ApiAiJson <ImageMessageResponse> .Deserialize(jArray[i].ToString()); break; case Domain.Enum.Type.Payload: result[i] = ApiAiJson <PayloadMessageResponse> .Deserialize(jArray[i].ToString()); break; default: result[i] = null; break; } } } return(result); }
public static BaseMessageResponse GetResponseMessage(string xmlstr) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlstr); XmlNodeList nodelist = doc.GetElementsByTagName("BusinessCode"); BaseMessageResponse responsetmessage = null; if (nodelist.Count == 0 || nodelist == null) { return(responsetmessage); //日志 } //XmlNode n = nodelist[0].SelectSingleNode("UserName"); XmlNode node = nodelist[0]; switch (node.InnerText) { case "001": responsetmessage = XmlSerializerTools.FromXmlStr <Message001>(xmlstr, Encoding.Unicode); break; case "004": responsetmessage = XmlSerializerTools.FromXmlStr <Message004>(xmlstr, Encoding.Unicode); break; case "005": responsetmessage = XmlSerializerTools.FromXmlStr <Message005>(xmlstr, Encoding.Unicode); break; case "006": responsetmessage = XmlSerializerTools.FromXmlStr <Message006>(xmlstr, Encoding.Unicode); break; case "007": responsetmessage = XmlSerializerTools.FromXmlStr <Message007>(xmlstr, Encoding.Unicode); break; case "008": responsetmessage = XmlSerializerTools.FromXmlStr <Message008>(xmlstr, Encoding.Unicode); break; case "009": responsetmessage = XmlSerializerTools.FromXmlStr <Message009>(xmlstr, Encoding.Unicode); break; case "011": responsetmessage = XmlSerializerTools.FromXmlStr <Message011>(xmlstr, Encoding.Unicode); break; case "012": responsetmessage = XmlSerializerTools.FromXmlStr <Message012>(xmlstr, Encoding.Unicode); break; case "015": responsetmessage = XmlSerializerTools.FromXmlStr <Message015>(xmlstr, Encoding.Unicode); break; case "016": responsetmessage = XmlSerializerTools.FromXmlStr <Message016>(xmlstr, Encoding.Unicode); break; case "018": responsetmessage = XmlSerializerTools.FromXmlStr <Message018>(xmlstr, Encoding.Unicode); break; case "020": responsetmessage = XmlSerializerTools.FromXmlStr <Message020>(xmlstr, Encoding.Unicode); break; case "030": responsetmessage = XmlSerializerTools.FromXmlStr <Message030>(xmlstr, Encoding.Unicode); break; case "099": responsetmessage = XmlSerializerTools.FromXmlStr <Message099>(xmlstr, Encoding.Unicode); break; default: break; } return(responsetmessage); }