Avatar ·

كيفية إلغاء تسلسل JSON إلى كائن ديناميكي في C#؟

مرحباً بالجميع! أنا مبتدئ في C# وأعمل مع بيانات JSON من API خارجي. يمكن أن يتغير هيكل JSON ولا أريد إنشاء كلاس منفصل لكل حالة. على سبيل المثال، لدي JSON مثل هذا: ```json { "name": "John", "age": 30, "address": { "city": "Moscow", "street": "Tverskaya" } } ``` لكن في بعض الأحيان يأتي JSON آخر: ```json { "product": "Laptop", "price": 1200, "features": ["SSD", "16GB RAM"] } ``` لقد جربت استخدام `JavaScriptSerializer` و `JsonConvert.DeserializeObject`، لكنهما يتطلبان كلاساً محدداً مسبقاً. على سبيل المثال: ```csharp var result = JsonConvert.DeserializeObject(jsonString); ``` لكن إذا كنت لا أعرف الهيكل مسبقاً، كيف يمكنني العمل مع هذه البيانات؟ سمعت عن `dynamic` في C#، لكنني لا أفهم كيفية تطبيقه على JSON. من فضلكم، أخبروني كيف يمكن إلغاء تسلسل JSON إلى كائن ديناميكي، بحيث يمكن الوصول إلى الحقول عبر النقطة، مثلاً: `obj.name` أو `obj.product`؟ وكيف يمكن القيام بذلك مع الـ