自在猫先生 2022-08-11 15:24 采纳率: 62.9%
浏览 49
已结题

ASP.NET 字符串转换为json格式的字符串

问题遇到的现象和发生背景

目前我的winfrom调用js的时候不支持json格式字符串转换这个方法,我只能在后端进行转换

问题相关代码,请勿粘贴截图

我想要把字符串的数据转换为json格式的字符串,只有这个格式的数据第三方才能识别。
var JsonData = JSON.stringify(req);//这个无法识别 winfrom调用的时候会报错。

 string UserName = "";
            string Pwd = b";

            string sql="code = ''";
            CustomSqlSection customSqlSection = Gateway.Default.FromCustomSql(sql);
            DataTable dataTable = customSqlSection.ToDataSet().Tables[0];
            string url = @"" + dataTable.Rows[0]["Lookup_Value_Name"].ToString()+"";

            //HttpContext 转换为字符串格式
            byte[] postData = HttpContext.Current.Request.BinaryRead(HttpContext.Current.Request.ContentLength);
            string strReq = Encoding.UTF8.GetString(postData);
            //转为Base64格式
            byte[] b = System.Text.Encoding.Default.GetBytes(UserName +":"+ Pwd);
            string UserEncoding= Convert.ToBase64String(b);

            string result = "";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            //增加HTP请求头
            req.Headers.Add("Authorization", "Basic " + UserEncoding);
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            byte[] data = Encoding.UTF8.GetBytes(strReq.ToString());  // 把字符串转换为字节
            req.ContentLength = data.Length;  // 请求长度
            using (Stream reqStream = req.GetRequestStream())  // 获取
            {
                reqStream.Write(data, 0, data.Length);  // 向当前流中写入字节
                reqStream.Close();                      // 关闭当前流
            }
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); //响应结果
            Stream stream = resp.GetResponseStream();
            // 获取响应内容
            using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
            {
                result = reader.ReadToEnd();
                m_iLog.Info("获取发送结果:\r\n" + result.ToString());
            }
            context.Response.Write(result);
运行结果及报错内容

下图就是的在winfrom调用然后提示的错误,这个错误是因为这个 json的转换识别不了,
var JsonData = JSON.stringify(req);//这个无法识别 winfrom调用的时候会报错。
所以我要通过后端来转。

img

img

我的解答思路和尝试过的方法

通过c#后端进行转换

我想要达到的结果

字符串的数据转换为json格式的字符串

  • 写回答

1条回答 默认 最新

  • 石岩Maple 2022-08-11 15:38
    关注

    你是向前端传了一个流呀,哪有json,还有就是如果是json的话,需要一个Key,你可以放在Dictionary里面,然后转成json以后再传给前端。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月20日
  • 已采纳回答 8月12日
  • 修改了问题 8月11日
  • 创建了问题 8月11日

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?