POST 字典为 JSON

2024-01-09

我需要将字典中的一些字段(来自 VB.Net 应用程序)以 JSON 格式发送到 Web 服务。

下面是代码:

Dim dict As New Dictionary(Of String, String)
 dict.Add("Drinks", "2")
 dict.Add("ID", "1")
 Dim parameters As String = JsonConvert.SerializeObject(dict)
 Dim jsonString As String = "{""Pram"":""" + parameters + """}"
 Dim Uri As New Uri(String.Format("http://***/WebServices/UpdateSQL"))
 Dim data = Encoding.Default.GetBytes(jsonString)
 Dim result_post As String = SendRequest(Uri, data, "application/json", "POST")

在我的网络服务(ASP.NET c#)中,我尝试捕获上面的字符串,如下面的代码所示

public ActionResult UpdateSQL(string Pram)

我收到错误代码 500:内部服务器错误。我尝试从 VB 应用程序传递各个字段,效果很好。如果我发送各个字段,下面是代码

Dim jsonString As String = "{""SQL"":""" + sSQL + """," &
                            """TableName"":""" + tableName + """," &
                            """Drinks"":""""2"",""ID"":""1""}"

上面的 json 字符串在发送时工作得非常好,并在 Web 服务中捕获,如下代码所示:

public ActionResult UpdateSQL(string SQL, string TableName, string Drinks, string ID)

仅当我将字典序列化为字符串并尝试发送时,才会出现内部服务器错误。 如果我遗漏了什么,请告知。谢谢


Dim dict As New Dictionary(Of String, String)
        dict.Add("Drinks", "2")
        dict.Add("ID", "1")
        Dim parameters As String = JsonConvert.SerializeObject(dict, Formatting.None)
        Dim Uri As New Uri(String.Format("http://localhost:60627/home/test/"))
        Dim webClient As New WebClient()
        Dim resByte As Byte()
        Dim resString As String
        Dim reqString() As Byte
        webClient.Headers("content-type") = "application/json"
        Dim senddata As Object = JsonConvert.SerializeObject(New With {Key .param = parameters}).ToString()
        reqString = Encoding.Default.GetBytes(senddata)
        resByte = webClient.UploadData(Uri, "post", reqString)
        resString = Encoding.Default.GetString(resByte)

首先改变这种连接类型"{""Pram"":""" + 参数 + """}” 因为这不会造成任何混乱。

并且数据未发送到服务器属性,因为问题是转义序列,未给予 Concat 正确的数据序列化。

在上面我将代码更改为

Dim parameters As String = JsonConvert.SerializeObject(dict, Formatting.None)

这是改变数据

{"饮料":"2","ID":"1"}

下一个连载将改变

{"param":"{\"饮料\":\"2\",\"ID\":\"1\"}"}

但是您发送数据的序列化是

{"param":"{"饮料":"2","ID":"1"}"}

So, the Data is Not Sending Properly enter image description here

我已经检查过,工作正常......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

POST 字典为 JSON 的相关文章

随机推荐

  • 在 pandas 中使用 groupby 过滤数据

    我有一个 DataFrame 其中包含以下数据 每行代表电视剧每集中出现的一个单词 如果一个单词在一个剧集中出现 3 次 则 pandas 数据框有 3 行 现在我需要过滤一个单词列表 这样我应该只得到出现超过或等于 2 次的单词 我可以通
  • 捕获单个任务中的异常并重新启动它们

    如果我创建一系列asyncio顶级类中的任务 所有这些任务基本上都应该永远运行 如下所示 asyncio create task asyncio create task asyncio create task self event loop
  • UICollectionView 单元格不可见

    我最近在我的故事板中添加了一个 UICollectionView 它目前被另一个视图推入视图 这似乎工作正常 但是 使用故事板编辑器 我将视图设置为包含 35 个单元格 这些单元格在编辑器中看起来很好 但是当我运行应用程序中的单元格是不可见
  • 使用azure数据工厂更新Azure机器学习模型

    当我使用数据工厂更新 Azure ML 模型时 如文档所述 https learn microsoft com en us azure data factory v1 data factory azure ml update resourc
  • 如何使用 C++ 更改/设置 DNS?

    我正在尝试使用 C 更改 设置 DNS 目前我无法找到这方面的任何资源 public static NetworkInterface GetActiveEthernetOrWifiNetworkInterface var Nic Netwo
  • 使用 SQL 编辑 XML 列。不那么结构化的 XML

    这个问题是一个这个问题的后续 https stackoverflow com q 40080985 5089204 如何通过获取 的新标签来编辑 XMLXXX 不是那么结构化的 xml 需要帮助 我对 XML 和 XQuery 非常陌生 如
  • 与 C# 和 VBA 的并行 COM 互操作

    我不是在谈论从 C 调用 VBA COM 相反 我想做的是在 MS Access 中使用 VBA 调用 C 库 而不注册 DLL 我已经玩了一段时间的并行互操作 但没有成功 我终于意识到 mdb manifest 可能不是 exe mani
  • 自动使基构造函数在派生类中可用?

    我有一个带有两个构造函数的基类 需要一个参数 public abstract class StoreBase private readonly SomeObject sobj protected StoreBase SomeObject s
  • 您重构代码的方式和频率如何?

    我的问题模糊地涉及this one https stackoverflow com questions 140677 how often should you refactor 但是 它不涉及技术或实践 我在读务实的程序员并且它强烈提倡尽可
  • 将大型 JS blob 传递给 Blazor byte[]

    我需要使用录制一些音频 甚至视频媒体API https developer mozilla org en US docs Web API MediaRecorder in JS example https mbuotidem github
  • 在生产中部署 Spring Boot

    我们有一个 Spring Boot Angular 应用程序 目前我们正在将其打包为 jar 并运行它 可以将包装用作 JAR 吗 或者我们应该转向 WAR 类型的包装 会有什么不同呢 除了部署方式之外 没有其他区别 使用 JAR 时 Sp
  • GridX启动后如何重新计算列宽?

    根据文档 https github com oria gridx wiki Create the Simplest Gridx https github com oria gridx wiki Create the Simplest Gri
  • SVG animateTransform 平移和缩放同时失败

    我有一条想要使用的动画路径animateTransform 我想同时平移和缩放路径 这不起作用 显然只有第二个动画起作用 在这种情况下scale 我究竟做错了什么 svg width 300px border 1px solid fill
  • 在ubuntu Linux服务器上通过命令行运行php文件

    我试图在 ubuntu Linux 服务器上运行 php 文件 但当我运行 php file name php 时出现 找不到命令 错误 在网上搜索时 我发现一篇文章建议我运行 sudo aptitude install php5 cli
  • InterfaceBuilder NSButton 连接到 NSViewController 原因“无法连接操作,目标类 NSObject 不响应”

    我有一个基于视图的NSTableView其 文件的所有者 是ViewController 我在自定义上拖动了一个按钮 用于删除 NSTableCellView 所以我想单击按钮并从 tableView 中删除当前行 但是当添加行时调试控制台
  • 隐藏用于 editText 焦点/触摸的软键盘

    我试图隐藏软键盘 使其在 EditText 接收焦点或触摸事件时不显示 我希望 EditText 是可编辑的 EditText 中会有文本 因此我希望 EditText 响应触摸事件 以便定位光标 但我将有专用的编辑按钮 而不是使用软键盘
  • 使用 Jasmine 测试时,Angularjs 注入控制器为空

    我目前正在与Angular 以及使用 Karma 和 Jasmine进行测试 例如 过滤器被注入到主模块中 并且可以毫无问题地进行测试 但是当我尝试测试控制器时 我得到了一个空物体注射后 这是我的主模块的代码 function use st
  • 具有固定滚动行和固定滚动列的大型动态大小 html 表格

    我需要在网页上显示一个大表格 并且需要防止第一列和第一行滚动 我想动态设置此表的垂直大小 在某些静态大小的页眉 页脚页面内容之间 以使其尽可能高 而不强制浏览器窗口具有垂直滚动条 browser window fixed static we
  • SwiftUI 安排本地通知没有按钮?

    这可能有一个非常简单的答案 因为我对 Swift 和 SwiftUI 还很陌生 并且刚刚开始学习 我正在尝试安排每天在特定时间重复的本地通知 但仅在选择切换时才执行此操作 因此 如果变量为真 我希望安排该通知 我在网上看了一些教程 比如这个
  • POST 字典为 JSON

    我需要将字典中的一些字段 来自 VB Net 应用程序 以 JSON 格式发送到 Web 服务 下面是代码 Dim dict As New Dictionary Of String String dict Add Drinks 2 dict