using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
Int64 UnDescValue = Convert.ToInt64(Convert.ToDecimal(DateTime.Now.ToString("yyyyMMddHHmm")) ));
StringBuilder sbjosn = new StringBuilder();
string enkey = Utils.DESEncryptx.Encrypt(PBKey + PRkey, UnDescValue.ToString());
sbjosn.Append("{\"rescode\":\"" + enkey + "\",\"resevent\":\"add_product\",\"data\":");
sbjosn.Append("" + ObjectToJson(nlist) + "}");
string x = sbjosn.ToString();
long tick = DateTime.Now.Ticks;
Random ran = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));
string jsonText = JsonBase.Instance.Getjson("" + itemInterfacemaintain.ChannelAdress + "/BillBusiness.ashx?res=" + Server.UrlEncode(Server.UrlEncode(x)) + "&sj=" + ran.Next());
//Response.Write(sbjosn.ToString());
//如果返回结果为1,则更新本机更新状态
//转换为对象
if (jsonText != "" && jsonText != null)
{
var obj = Newtonsoft.Json.Linq.JObject.Parse(jsonText);
if (obj["status"].ToString() == "1")
{
foreach (CoreOnlineTicketTypeUpdateStateModel itemstate in modUpdateStatelistx)
{
itemstate.IsUpdate = 1;
bllUpdateState.Update(itemstate);
}
}
}
// 从一个对象信息生成Json串
public static string ObjectToJson(object obj){
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream stream = new MemoryStream();
serializer.WriteObject(stream, obj);
byte[] dataBytes = new byte[stream.Length];
stream.Position = 0;
stream.Read(dataBytes, 0, (int)stream.Length);
return Encoding.UTF8.GetString(dataBytes);
}
//调用url地址并返回值
public string Getjson(string url)
{
string getWeatherUrl = url;
WebRequest webReq = WebRequest.Create(getWeatherUrl);
WebResponse webResp = webReq.GetResponse();
Stream stream = webResp.GetResponseStream();
StreamReader sr = new StreamReader(stream, Encoding.UTF8);
string html = sr.ReadToEnd();
sr.Close();
stream.Close();
return html;
}