我在 Xamarin 的回复中得到 \r\n 和 \,如何避免?

I get \r\n and \ in my response Xamarin, how to avoid it?

我使用 xamarin 发送 RQ 并解析 JSON 响应,但在我的响应中,我在每个 ".

之前得到 \r\n\

我知道一些编辑器(如 NuSphere(PhPed))可以选择禁用添加这些符号,但我找不到任何方法在 Xamarin 中删除它。

    public async Task Post_RequestAsync()
    {
        var request = new HttpRequestMessage();
        request.RequestUri = new Uri(GET_RQ_ENDPOINT);
        request.Method = HttpMethod.Post;
        request.Headers.Add("Accept", "application/json");
        var client = new HttpClient();
        HttpResponseMessage response = await 
      client.SendAsync(request).ConfigureAwait(continueOnCapturedContext: 
false);

        if (response.StatusCode == HttpStatusCode.OK)
        {
            string content = await response.Content.ReadAsStringAsync();

            Console.WriteLine(content);
        }
        else
        {
            Console.WriteLine("BAD!");
        }

        await Task.Delay(1);

    }

这是我用来获取响应的方法。我做了一些修剪和删除 \r\n 但是否有任何优雅的解决方案来删除它们?

尝试使用正则表达式

string content = await response.Content.ReadAsStringAsync();
var result = Regex.Replace(content, @"\t|\n|\r", "");

这应该删除所有需要的字符。

首先,我建议你在服务器端处理这些问题,这些问题通常发生在数据字符串前后有空格的情况下。如果你在服务器端处理它,它会很简单并且一次性 all.When 你得到响应,你不需要做任何额外的处理。

当然,如果你不能从服务器端处理它,你只能通过像这样替换正则表达式来删除所有需要的字符:

string content = await response.Content.ReadAsStringAsync();
var result = Regex.Replace(content, @"\t|\n|\r", "");

此外:VS 没有此功能来摆脱那些 characters.This 问题与我们在服务器端和客户端的代码有关。