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

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日

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动