c# - 从 C# 将数据传递给 Json
问题描述
对 JSON 和 webapi 来说真的很新。我想将一些数据传递给 JSON URL 并将数据作为 ac# 对象取回。到目前为止,我可以在网上找到的信息不多,或者我没有找到。我不知道如何传递价值。"URL/importSet" 这里的 importset 是什么意思。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("URL/importSet");
IWebProxy theProxy = request.Proxy;
if (theProxy != null)
{
theProxy.Credentials = CredentialCache.DefaultCredentials;
}
CookieContainer cookies = new CookieContainer();
request.UseDefaultCredentials = true;
request.CookieContainer = cookies;
request.ContentType = "application/json";
request.CookieContainer = cookies;
// write the "Authorization" header
request.Headers.Add("Authorization", "Bearer " + "token-key001");
request.Method = "POST";
var data = new {"I try to copy paste the json data here what i mention down"}
byte[] postBytes = Encoding.ASCII.GetBytes(data);
request.ContentLength = postBytes.Length;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
Console.Write(reader.ReadToEnd());
}
我的 json 数据格式是:
{
"BasicInformation": {
"BranchName": "ABC",
"DateFrom": "20180905",
"DateTo": "20180905"
},
"Details": "",
"Header": {
"Company": "C001",
"BranchCode": "ABC123"
}
}
任何帮助将不胜感激。谢谢。
解决方案
为了将对象作为 json 传递,您可以使用Newtonsoft
NuGet 包管理器中提供的包。
using Newtonsoft.Json;
您将按如下方式使用它:
var data = new {
BasicInformation = new {
BranchName = "ABC",
DateFrom = "20180905",
DateTo = "20180905"
},
Details = "",
Header = new {
Company = "C001",
BranchCode = "ABC123"
}
};
var dataJson = JsonConvert.SerializeObject(data);
这给出了:
{"BasicInformation":{"BranchName":"ABC","DateFrom":"20180905","DateTo":"20180905"},"Details":"","Header":{"Company":"C001","BranchCode":"ABC123"}}
然后您可以在您的请求中使用它:
byte[] postBytes = Encoding.ASCII.GetBytes(dataJson);
现在,当您收到结果时,只需Deserialize
在创建代表您收到的内容的类之后使用。
推荐阅读
- java - 如何在 Selenium Java 中使用 CTRL + v 在输入字段中粘贴文本值?
- c# - 无法加载文件或程序集“Ninject”
- java - 用于在 Java 中保存访问令牌的线程安全类
- angular - 我正在尝试设置模板驱动表单的表单值,但出现如下错误:
- swift - 单击标签时如何显示另一个视图控制器
- android - 添加样式资源文件后,Android 资源链接失败
- excel - 使用 Excel VBA 查找和替换文本
- javascript - React 事件处理程序:为什么父级 this 不会被子级绑定覆盖
- jsf - 如何显示 f:viewAction 的等待指示器?
- node.js - 如何最好地在您的 Loopback 4 应用程序中包含一次性脚本?