Я пытаюсь использовать приведенный ниже код для создания новой проблемы проекта в моей jira,
using using System.Text;
using System.Net.Http;
using System.Json;
using System.Web.Script.Serialization;
namespace Test
{
class Class1
{
public void CreateIssue()
{
string message = "Hai \"!Hello\" ";
string data = "{\"fields\":{\"project\":{\"key\":\"TP\"},\"summary\":\"" + message + "\",\"issuetype\":{\"name\": \"Bug\"}}}";
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
client.DefaultRequestHeaders.ExpectContinue = false;
client.Timeout = TimeSpan.FromMinutes(90);
byte[] crdential = UTF8Encoding.UTF8.GetBytes("adminName:adminPassword");
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(crdential));
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
System.Net.Http.HttpContent content = new StringContent(data, Encoding.UTF8, "application/json");
try
{
client.PostAsync("http://localhost:8080/rest/api/2/issue",content).ContinueWith(requesTask=>
{
try
{
HttpResponseMessage response = requesTask.Result;
response.EnsureSuccessStatusCode();
response.Content.ReadAsStringAsync().ContinueWith(readTask =>
{
var out1 = readTask.Result;
});
}
catch (Exception exception)
{
Console.WriteLine(exception.StackTrace.ToString());
Console.ReadLine();
}
});
}
catch (Exception exc)
{
}
}
}
}
Вызывает ошибку, как показано ниже:
"{\" errorMessages \ ": [\" Неожиданный символ ('!' (код 33)): ожидалось, что запятая разделит записи ОБЪЕКТА \ n в [Источник: org.apache.catalina.connector.CoyoteInputStream@1ac4eeea; строка: 1, столбец: 52] \ "]}"
Но я использую тот же файл json в Firefox Poster, я создал проблему.
Файл Json: {"fields": {"project": {"key": "TP"}, "summary": "Hai \"! Привет \ "", \ "issuetype \": {\ "name \": \"Ошибка\"}}}"
Итак, что не так с моим кодом?