2016-03-25 4 views
0

У меня есть следующее преобразование в динамический объект. Вот что объект выглядит следующим образом:Сохранение C# динамическому объекту

"rejectionReason": null, 
"timestamp": { 
    "testDate1": null, 
    "testDate2": null, 
    "testDate3": null, 
    "testDate4": null, 
    "testDate5": "2016-03-23T15:41:22.000-06:00", 
    "testDate6": "2016-03-23T15:36:32.000-06:00", 
    "testDate7": "2016-03-23T15:39:22.000-06:00" 
}, 
"outsideTestDate": null, 

я могу сэкономить на outsideTestDate легко с помощью:

dynamicObj.outsideTestDate = DateTimeOffset.Now; 

Однако я пытаюсь сохранить testDate1 - testDate4, но не могу показаться, чтобы получить он работает и возвращается нулевым каждый раз и, кажется, имеет левую часть выражения. Я пробовал:

dynamicObj.timestamp.testDate4 = DateTimeOffset.Now 

любые идеи, которые могут указывать на меня в правильном направлении?

+0

вы преобразования JSON в C# объекта или наоборот? –

+0

Как вы конвертируете в 'dynamic'? И как вы проверяете «null»? Я использую 'Json.NET', и это отлично работает для меня:' dynamic data = JObject.Parse (json); data.timestamp.testDate4 = DateTimeOffset.Now; ' –

+0

Думаю, я должен был уточнить, я вытаскиваю из лазурного документа db, поэтому я конвертирую json в C# – Derked

ответ

0

Не очень красивое решение, но вот то, что я сделал, чтобы заставить его работать

DateTimeOffset td5 = DateTimeOffset.Parse(inspection.timestamp.testDate5.ToString()); 
DateTimeOffset td6 = DateTimeOffset.Parse(inspection.timestamp.testDate6.ToString()); 
DateTimeOffset td7 = DateTimeOffset.Parse(inspection.timestamp.testDate7.ToString()); 

     dynamicObj.timestamp = new 
        { 
         testDate1 = (DateTimeOffset?)null, 
         testDate2 = (DateTimeOffset?)null, 
         testDate3 = (DateTimeOffset?)null, 
         testDate4 = DateTimeOffset.Now, 
         testDate5 = td5, 
         testDate6 = td6, 
         testDate7 = td7 
        }; 
Смежные вопросы