Я успешно десериализую возвращаемый массив JSON из запроса RESTful GET в мою старую объектную модель C#.C# Deserializing JSON с помощью json.net, хотите извлечь индекс массива как свойство модели
Я использую аннотации [JSONProperty foo], чтобы привязать имена JSON к моим свойствам модели.
JSON вернулся, выглядит следующим образом:
[{
"ProductCode": "0129923083091",
"Description": "DIESEL ",
"SalesLitres": 6058.7347,
"SalesValue": 6416.2000
},
{
"ProductCode": "0134039344902",
"Description": "UNLEADED ",
"SalesLitres": 3489.8111,
"SalesValue": 3695.7100
},
...
]
Я хотел бы создать что-то похожее на уникальное поле индекса в моей модели, которая синтезируется на основе порядка появления массива элементов возвращаемых из JSON ,
Для справки, мои текущие аннотации (без свойства индексации) выглядит так:
namespace App8.Models
{
public class ReportRow
{
[JsonProperty("ProductCode")]
public string ProductCode { get; set; } = string.Empty;
[JsonProperty("Description")]
public string Description { get; set; } = string.Empty;
[JsonProperty("SalesLitres")]
public double SalesLitres { get; set; } = 0.0;
[JsonProperty("SalesValue")]
public double SalesValue { get; set; } = 0.0;
}
}
Есть аннотация для этого предусмотрена Newtonsoft Json.NET ... Или есть какой-то код, который Я могу поместить в геттер/сеттеры для производства первичного ключа, по существу?
Это выглядит очень хорошо. Я обязательно попробую. – retail3r
Использование linq для создания побочных эффектов немного подозрительно. Если вы никогда не перечисляете запрос, побочный эффект никогда не запускается! –