JSON数据处理及问题点解决办法

//显示JSON数据
 public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json"; //指定返回数据格式为json
            //下面两句是在IE输出时防止出现文档的顶层无效。处理资源 。
            context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            context.Response.ContentType = "text/plain";
            //防止外网打不开数据
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            string jsonResult = null;
            Data_HistoryDao ad = new Data_HistoryDao();

            List<Data_HistoryInfo> list = ad.GetData_History();
           jsonResult = JsonConvert.SerializeObject(list);

           context.Response.Write(jsonResult);//向客户端返回数据
           context.Response.End();
        }


无法显示 XML 页。 
无法查看使用 样式表的 XML 输入。请更正错误然后单击 刷新 按钮,或稍后重试。 


--------------------------------------------------------------------------------

文档的顶层无效。处理资源 'http://location/Controls/GetData_History.ashx' 时出错。第 1 行,位置: 1 

[{"ID":568092,"Code":"41697202011C0000","Temperature":28.09,"Humidity":61.42,"CO2":505.62,"HCHO":0.00,"PM":45.05,"TVOC":0.29...


在IE中打开会显示上面错误时需要添加下面两句话方可解决
 context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
 context.Response.ContentType = "text/plain";



//Linq要查询两个天气预报的最新记录可以分别查询最新的一条然后添加到list集合上
/// <summary>
        /// Json读取数据
        /// </summary>
        /// <returns></returns>
        public List<Data_HistoryInfo> GetData_History()
        {
            using (var dc = new DataContext<Data_HistoryInfo>(Config.HouseDoctorDb))
            {

                List<Data_HistoryInfo> dh = new List<Data_HistoryInfo>();
                var q = (from t in dc.SourceTable where (t.Code.Equals("4169720202470000")) select t).ToList();
                var p = q.OrderByDescending(u => u.CollectingTime).Take(1).ToList();
                dh.Add(p[0]);
                q = (from t in dc.SourceTable where (t.Code.Equals("41697202012D0000")) select t).ToList();
                p = q.OrderByDescending(u => u.CollectingTime).Take(1).ToList();
                dh.Add(p[0]);
                return dh;
            }
        }


//SQL语句写法
select * from Table a 
where ID=(select max(ID) from Table 
where Code=a.Code and (Code='4169720202470000' OR Code='41697202012D0000') )
order by CollectingTime desc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值