using System; using System.Xml.Serialization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace Jd.Api { /// /// 京东接口返回数据 /// [Serializable] public abstract class JdResponse { /// /// 错误码 /// [XmlElement("code")] [JsonProperty("code")] public String ErrCode { get; set; } /// /// 错误信息 /// public virtual String ErrMsg { get { return ZhErrMsg; } internal set { this.ZhErrMsg = value; } } [XmlElement("zh_desc")] [JsonProperty("zh_desc")] public String ZhErrMsg { get; set; } /// /// 英文错误信息 /// [XmlElement("en_desc")] [JsonProperty("en_desc")] public String EnErrMsg { get; set; } public string RealErrorMsg { get { if (IsError) return string.IsNullOrEmpty(ErrorMsg) ? ErrMsg : ErrorMsg; else return string.Empty; } } /// /// 响应原始内容 /// public String Body { get; set; } public int Error { get; set; } public String ErrorMsg { get; set; } /// /// 响应的JSON object /// public JObject Json { get; set; } /// /// HTTP GET请求的URL /// public String ReqUrl { get; set; } /// /// 响应结果是否错误 /// public virtual Boolean IsError { get { return (!string.IsNullOrEmpty(this.ErrCode) && !String.Equals(this.ErrCode, "0", StringComparison.InvariantCultureIgnoreCase) ) || !string.IsNullOrEmpty(this.ErrMsg); } } } }