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);
}
}
}
}