Language Translator RESTful API 两次返回第一个句子

Language Translator RESTful API returning first sentence twice

将 REST 与 Basic Auth 和具有多个 'text' 条目的 FormUrlEncoded 负载结合使用(本质上,一个 word 文档表示为 8 个句子),当我调用 API 它 returns翻译,但它 returns 第一句话两次使翻译后的数组与初始请求不同步。我缺少一些基本的东西吗?我也卡在 .net40 上了。

var payload = new FormUrlEncodedContent(watsonValues);
var translationResponse = _watsonClient.PostAsync($"{_watsonBase}/v2/translate", payload).Result;
if (translationResponse.IsSuccessStatusCode)
{
    var responsePayload = translationResponse.Content.ReadAsStringAsync().Result;
    var watsonTranslations = JsonConvert.DeserializeObject<WatsonMtResponse>(responsePayload);

    foreach (var translation in watsonTranslations.Translations)
    {
        translatedList.Add(translation.Translation);
    }
}
else
{
    translationResponse.EnsureSuccessStatusCode();
}

我通过提出基于 Json 的请求而不是我之前提出的 FormUrlEncoded 请求来解决这个问题。代码基本上是...

var translationResponse = _watsonClient.PostAsync($"{_watsonBase}/v2/translate", 
                new StringContent(JsonConvert.SerializeObject(mtRequest),
                Encoding.UTF8,
                "application/json"))
                .Result;

            if (translationResponse.IsSuccessStatusCode)
            {
                var responsePayload = translationResponse.Content.ReadAsStringAsync().Result;
                var watsonTranslations = JsonConvert.DeserializeObject<WatsonMtResponse>(responsePayload);

                foreach (var translation in watsonTranslations.Translations)
                {
                    translatedList.Add(translation.Translation);
                }
            }
            else
            {
                translationResponse.EnsureSuccessStatusCode();
            }

Json 对象看起来像这样...

 class WatsonMtRequest
 {
    [JsonProperty("model_id")]
    public string ModelId { get; set; }
    [JsonProperty("text")]
    public List<string> Text { get; set; }
 }