Я пытаюсь проанализировать некоторый JSON с Newtonsoft.JSON.JsonConvert.DeserializeObject
- на самом деле JSON был также сгенерирован Newtonsoft из тех же классов, в которые я пытаюсь десериализоваться, и, безусловно, действителен.
Но это даетменя исключение: Newtonsoft.Json.JsonReaderException : Unexpected character encountered while parsing value: {.
Я сделал очень упрощенный пример, чтобы показать проблему.
Вот JSON:
{
"address": {
"country": {
"name": "UK"
}
}
}
Вот упрощенныймодель, которая все еще показывает проблему:
public class Person
{
public Address Address;
}
public class Address
{
public Country Country;
public Address(string country)
{
}
}
public class Country
{
public string Name;
}
Вот код, который не работает:
// Fails with Newtonsoft.Json.JsonReaderException : "Unexpected character encountered
// while parsing value: {. Path 'address.country', line 3, position 16."
Person item = JsonConvert.DeserializeObject<Person>(json);
Я проверил, и это не та же проблема, что и C # - При синтаксическом анализе значения обнаружен неожиданный символ: {.Путь '[0] .Statistics или При синтаксическом анализе ответа API обнаружен неожиданный символ.Теперь я решил проблему (см. Мой ответ ниже), и это НЕ та же проблема или решение, что и у любого из этих двух.