C# webservice 如何将datatable数据转换成json并发布 全过程详解

 

参考:https://www.jb51.net/article/96343.htm。该介绍里共讲解了3钟方法,由于前两种看起来较繁琐,所以我采用了方法3:

方法3:使用Json.Net DLL (Newtonsoft)。

这个方法中要添加Json.Net DLL引用,我们可以从Newtonsoft下载Json.Net DLL,再导入命名空间,完成webserveice 方法的代码如下

  using Newtonsoft.Json; //该引用是通过nuget程序包搜索:newtonsoft.json v 5.0.4下载,该引用是将datatable转换成json数据的关键
using Newtonsoft.Json.Converters;//json格式转换引用

[WebMethod]
    public string find_Room(string see_room)
    {
      
        try
        {
            //通过引用外部插件将datatable数据转换成json格式
            string find_json = @"SELECT * FROM 表 WHERE  条件 " ;

            DataTable dt = bc.QueryCommand(find_json);//调用方法    
            string JsonString = string.Empty;//返回只读字段
            //JsonString = JsonConvert.SerializeObject(dt);//该转换的方法,但因微软时间格式问题,时间中间空格带了个T
            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };//将json的时间格式强制转换
            JsonString = JsonConvert.SerializeObject(dt, Formatting.Indented, timeConverter);
            return JsonString;

        }
        catch (Exception ex)
        {
            return ex.Message;


        }

       // return dt;
    }
    

需要注意的点:1.nuget下载这个Newtonsoft.Json,真的是有点麻烦,一直提示nuget版本与Newtonsoft不符合,需要升级Nuget管理程序。解决:通过工具--》扩展与更新--》更新nuget程序包管理器后,重启电脑再打开nuget,搜索Newtonsoft.json,然后拉到下面找到Newtonsoft.Json V5.0.4这个下载安装,才可以正式引用成功。2.微软时间格式转换的问题,采用时间格式强制转换后解决空格带T的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值