Ошибка JSON при использовании поля со списком
Я очень новичок в visual studio. Я пишу программу, которая будет извлекать подпись сотрудника из API, когда его имя вводится и нажимается кнопка "Получить пользователя" (например, если введено имя сотрудника Jane Doe, подпись "JDOE" будет извлечена из строки API, когда имя вводится и нажимается кнопка).
Мне удалось успешно прочитать данные с помощью текстового поля, однако я хотел бы включить поле со списком, чтобы оно предлагало имена при вводе пользователем (аналогично google).
Когда я пытаюсь запустить свой код с помощью поля со списком, то получаю следующую ошибку для своего JSON:
Newtonsoft.Json.JsonReaderException: 'неожиданный символ, встреченный при разборе значения: <. Путь ", строка 0, позиция 0.'
Это исключение было первоначально брошено в этот стек вызовов:
[внешний код]
TimeSheets_Try_11.Контроллеры.Веб-API.Getsignature(string) в WebAPI.cs
TimeSheets_Try_11.Form1.button1_Click(объект, система.EventArgs) в Form1.cs
[внешний код]
Что я уже пробовал:
строка формата JSON:
[{"signature":"JNDO","firstName":"Jane","fullName":"Doe, Jane","lastName":"Doe"}]
Код для моей формы windows:
namespace TimeSheets_Try_11 { public partial class Form1 : Form { WebAPI WA = new WebAPI(); public Form1() { InitializeComponent(); webBrowser1.Url = new Uri(StaticStrings.UrlIora); } private void label1_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { comboBox1.DataSource = WA.Getsignature(textBox2.Text); } private void textBox2_TextChanged(object sender, EventArgs e) { } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(AutoCompleteStringCollection combData) { } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { this.Hide(); Form2 p = new Form2(); p.ShowDialog(); } } }
Код вызывающий JSON
namespace TimeSheets_Try_11.Controllers { class WebAPI { public string Getsignature(string name) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; var cookies = FullWebBrowserCookie.GetCookieInternal(new Uri(StaticStrings.UrlIora), false); WebClient wc = new WebClient(); wc.Encoding = System.Text.Encoding.UTF8; wc.Headers.Add("Cookie:" + cookies); wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); wc.UseDefaultCredentials = true; string uri = ""; uri = StaticStrings.UrlIora + name; var response = wc.DownloadString(uri); var status = JsonConvert.DeserializeObject<List<Employeename>>(response); string signame = status.Select(js => js.signature).First(); return signame; } }
Код, определяющий переменные:
namespace TimeSheet_Try11_Models { // Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse); public class Employeename { public string signature { get; set; } public string firstName { get; set; } public string fullName { get; set; } public string lastName { get; set; } } public class Root { public List<Employeename> Employeename { get; set; } } }