Я пытаюсь десериализовать содержимое строки в объект, но я хочу, чтобы содержимое было чувствительным к регистру. Код должен быть успешным только в том случае, если строка имеет свойства нижнего регистра и сбой, если она имеет свойства верхнего регистра. Ниже приведен класс:JsonConvert DeserializeObject с учетом регистра
internal class ResponseList
{
[DataMember]
[JsonProperty]
internal List<Response> Value { get; set; }
}
internal class Response
{
[DataMember]
[JsonProperty]
internal string Id { get; set; }
[DataMember]
[JsonProperty]
internal string Location { get; set; }
[DataMember]
[JsonProperty]
internal PlanClass Plan { get; set; }
}
internal class PlanClass
{
[DataMember]
[JsonProperty]
internal string Name { get; set; }
[DataMember]
[JsonProperty]
internal string Product { get; set; }
[DataMember]
[JsonProperty]
internal string Publisher { get; set; }
}
Ниже приведен код, который у меня есть. Но это не чувствительно к регистру. Он преуспевает как для верхнего и нижнего регистра:
string content = File.ReadAllText(contentFilePath);
JsonSerializerSettings jsonSerializerSettings1 = new JsonSerializerSettings()
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
ResponseList response = (ResponseList)JsonConvert.DeserializeObject(contentResourceOutput, typeof(ResponseList), Constants.JsonSerializerSettings);
Код должен быть успешной только если содержание:
{
"value": [
{
"id": "id1",
"location": "location1",
"plan": {
"name": "free",
"product": "product1",
"publisher": "publisher1"
}
}
]
}
и потерпеть неудачу, если даже если одна из клавиш верхнего регистра. Например.
{
"value": [
{
"Id": "id1",
"Location": "location1",
"plan": {
"Name": "free",
"product": "product1",
"publisher": "publisher1"
}
}
]
}
Обратите внимание, что только имена ключей/свойств должны быть строчными. Значения могут быть в верхнем регистре. Есть ли способ сделать JsonConvert.Deserializeobject чувствительным к регистру?
@Romonov конечно предмет. Обновленный ответ будет правильно отклонять вторую строку. –
Это прекрасно работает! – Romonov
@ Ромонов потрясающий, рад помочь :) –