я получил следующую строку (JSON) из WS:Deserialize JSON к списку объектов
{"cables":"[{\"rexelReference\":\"FIL01084259\",\"providerReference\":\"1084259\",\"productLibe\":\"CABLE BLEU D\\u0027INSTRUM 01IT09EGFA\",\"brand\":\"FIL\",\"color\":\"BLEU\",\"section\":\"0,9\",\"conductorNumber\":1,\"displayProduct\":true},{\"rexelReference\":\"FIL01084386\",\"providerReference\":\"1084386\",\"productLibe\":\"CABLE BLEU D\\u0027INSTRUM 01IT09EGSF\",\"brand\":\"FIL\",\"color\":\"BLEU\",\"section\":\"0,9\",\"conductorNumber\":1,\"displayProduct\":true}]","productNumber":"2"}
и эти объекты:
public class ProductList
{
[JsonProperty("cables")]
public List<ProductDTO> cables { get; set; }
public int count { get; set; }
}
public class ProductDTO
{
public string rexelReference;
public string providerReference;
public string productLibe;
public string brand;
public string color;
public string section;
public string conductorNumber;
public string displayProduct;
}
Когда я пытаюсь десериализации с этим кодом:
ProductList list = JsonConvert.DeserializeObject<ProductList>(wsResponse2);
Я получаю сообщение об ошибке:
Дополнительная информация: Ошибка преобразования значения "[{" для ввода 'System.Collections.Generic.List`1 [VoltaFront.DTO.ProductDTO]'. Путь «кабели», линия 1, позиция 14.
Я не понимаю проблемы. Это из-за обратной косой черты? Должен ли я удалить их перед десериализацией?
Редактировать теперь ошибка я получаю:
* Дополнительная информация: Ошибка преобразования значения "[{" rexelReference ":" FIL01084259" , "providerReference": "1084259", "productLibe": "КАБЕЛЬ BLEU D \ u0027INSTRUM * <
проверить этот сайт, чтобы подтвердить ваш json http://jsonlint.com/ вы увидите, что это недопустимо – MethodMan
* Это из-за обратных косых черт? *, нет. Эти обратные косые черты на самом деле не существуют. Это спасательные персонажи. –
на самом деле моя копия/вставка была неправильной, я отредактировал мой msg, реальный json msg, который я получаю от WS, действителен, но thx для вашего инструмента в любом случае – Lempkin