#c# #asp.net #json #asp.net-mvc #linq
Вопрос:
var AdditionalData = flexEventTriggerLogsList.Select(x => x.AdditionalData).ToString();
string json = Convert.ToString(JsonConvert.DeserializeObject(AdditionalData));
var objTriggerLog = new FlexEventTriggerLog();
objTriggerLog.lookupEntity_RecordId = ????
objTriggerLog.DocumentRecordIds = ????
Дополнительные данные вернут мой объект Json в виде строки. Я должен использовать этот объект, чтобы получить идентификаторы записей сущности и документа.
Объект Json, который будет возвращен:
{
"lookupEntity_RecordId": "00000000-0000-0000-0000-000000000000",
"DocumentRecordIds":["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000000"]
}
Комментарии:
1. У вопроса уже есть код, который вы просите —
JsonConvert.DeserializeObject(AdditionalData)
… не могли бы вы уточнить, в чем именно вам нужна помощь?2. Я хочу привязать десериализованный объект к свойствам объекта класса c#. т. е. lookupEntity_RecordId и DocumentRecordIds
Ответ №1:
Вы можете использовать JsonConvert.DeserializeObject(jsonstring)
Вы создаете модель для своего json
public class AdditionalDataModel
{
public string lookupEntity_RecordId { get; set; }
public List<string> DocumentRecordIds { get; set; }
}
затем десериализуйте свой json в модели
var AdditionalData = flexEventTriggerLogsList.Select(x => x.AdditionalData).ToString();
var additionalDataModel = JsonConvert.DeserializeObject<AdditionalDataModel>(AdditionalData);
var objTriggerLog = new FlexEventTriggerLog();`
objTriggerLog.lookupEntity_RecordId = additionalDataModel.lookupEntity_RecordId;
objTriggerLog.DocumentRecordIds = additionalDataModel.DocumentRecordIds;