Как удалить Json и привязать к переменным/свойствам c#

#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;