Я потратил несколько часов на это и до сих пор не могу найти ответ. У меня есть строка Json, которую мне нужно десериализовать. Это должно быть просто, но я получаю следующее сообщение об ошибке:
При синтаксическом анализе значения обнаружен неожиданный символ: Q. Путь '', строка 0, позиция 0.
Моя строка json следующая:
Это ссылка на строку Json, предоставленную онлайн-базой данных Quandl.
Я использовал следующий веб-сайт:
для создания необходимого класса.
Я понимаю, что тогда мне придется десериализоваться в этот класс, используя:
var result = JsonConvert.DeserializeObject<List<RootObject>>(request.jsonString);
Но это не работает.
Вот мой полный код:
public class Errors
{
}
public class RootObject
{
public Errors errors { get; set; }
public int id { get; set; }
public string source_name { get; set; }
public string source_code { get; set; }
public string code { get; set; }
public string name { get; set; }
public string urlize_name { get; set; }
public string display_url { get; set; }
public string description { get; set; }
public string updated_at { get; set; }
public string frequency { get; set; }
public string from_date { get; set; }
public string to_date { get; set; }
public List<string> column_names { get; set; }
public bool @private { get; set; }
public object type { get; set; }
public bool premium { get; set; }
public List<List<object>> data { get; set; }
}
private void PullFromQuandl()
{
QuandlDownloadRequest request = new QuandlDownloadRequest();
request.APIKey = "Mi1xP1q2776TU4kmGcHo";
request.Datacode = new Datacode("FRED", "GDP");
request.Format = FileFormats.JSON;
request.Frequency = Frequencies.Monthly;
request.Truncation = 100;
request.Sort = SortOrders.Ascending;
string jsonString = request.ToRequestString();
var result = JsonConvert.DeserializeObject<List<RootObject>> (jsonString);
}