自在猫先生 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日

悬赏问题

  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗