首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将StringContent Json转换为byte[]

将StringContent Json转换为byte[]
EN

Stack Overflow用户
提问于 2020-11-26 12:29:28
回答 1查看 759关注 0票数 1

//需要使用这个在byte[]中转换为Json的人来完成api,我尝试了一些我在这里找到的不同的方法,但我无法使它工作

代码语言:javascript
复制
        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

                var person = new Person();
                person.id = "1234";
                person.Name = "John Doe";
                person.Email = "  ";
                person.individualIdentificationCode = "0000";
                person.order = "1";
                person.action = "DIGITAL-SIGNATURE";
                person.signurl = "https://sandbox.portaldeassinaturas.com.br/Assinatura/AssinarEletronicoFrame/152124?chave=";


                var json = JsonConvert.SerializeObject(person);
                var data = new StringContent(json, Encoding.UTF8, "application/json");
                


                // Request headers
                client.DefaultRequestHeaders.Add("Token", "{}");

            var uri = "https://api-sbx.portaldeassinaturas.com.br/api/v2/document/create?" + queryString;

            HttpResponseMessage response;

            // Request body
            byte[] byteData = Encoding.UTF8.GetBytes(data);

            using (var content = new ByteArrayContent(byteData))
            {
                content.Headers.ContentType = new 
 MediaTypeHeaderValue("application/Json");
                response = await client.PostAsync(uri, content);
            }

        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-26 12:54:07

您所看到的错误是因为GetBytes需要一个char[]string。但是,您正在尝试传递一个StringContent类型的对象,编译器没有可用的转换。但是:,你甚至不需要那个!

既然StringContent "is-a“ByteArrayContent ( .." is -a“HttpContent,这是PostAsync所期望的,只需将其传递给PostAsync

代码语言:javascript
复制
response = await client.PostAsync(uri, data);

当然,一如既往:不要在每个调用中创建一个新的HttpClient!

HttpClient将被实例化一次,并在应用程序的整个生命周期中被重用。为每个请求实例化一个HttpClient类将耗尽重载下可用的套接字数。这将导致SocketException错误。- 来源

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65022092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档