البرمجة

تحويل JSON إلى DataTable في C#

لفهم كيفية تحويل سلسلة JSON المذكورة إلى جدول في C#، يجب أولاً فهم تركيبة السلسلة نفسها وبنيتها. السلسلة JSON تحتوي على معلومات جدولية تمثل بيانات الجدول، وبالتالي يمكن استخدام أدوات البرمجة لتحليل هذه السلسلة وتحويلها إلى تنسيق يمكن قراءته بواسطة جدول في C#.

في البداية، سنحتاج إلى استخدام مكتبة Newtonsoft.Json لتحليل السلسلة JSON إلى هيكل بيانات C# مناسب. بمجرد تحويل السلسلة إلى هيكل بيانات مناسب، يمكن استخدامها لملء جدول DataTable في C#.

هنا الخطوات التفصيلية للقيام بذلك:

  1. استخدم مكتبة Newtonsoft.Json لتحليل سلسلة JSON وتحويلها إلى هيكل بيانات C#.
  2. بناء جدول DataTable في C# وتحديد الأعمدة المناسبة للبيانات.
  3. ملء الجدول DataTable بالبيانات المستخرجة من الهيكل البيانات الذي تم تحويله من السلسلة JSON.

الآن، سأوضح هذه الخطوات بالتفصيل:

  1. قم بتحميل وتثبيت مكتبة Newtonsoft.Json عبر NuGet Packages Manager في مشروعك.

  2. في كود C#، قم بتحويل السلسلة JSON إلى هيكل بيانات C# باستخدام JsonConvert.DeserializeObject() من مكتبة Newtonsoft.Json. في هذه الحالة، سنحتاج إلى هيكل بيانات يمثل البيانات الجدولية المتواجدة في السلسلة.

  3. بناء جدول DataTable في C# مع تحديد الأعمدة المناسبة للبيانات. في هذه الحالة، يجب أن تكون عموداً لكل عنوان في الجدول.

  4. ملء الجدول DataTable بالبيانات المستخرجة من الهيكل البيانات الذي تم تحويله من السلسلة JSON. هنا يمكن استخدام حلقة لتحليل كل سجل في البيانات وإضافته إلى الجدول.

  5. بعد ذلك، يمكن استخدام الجدول DataTable في C# للقيام بالعديد من العمليات مثل العرض والتعديل والحذف والإدراج.

الآن، سأقوم بتقديم قطعة من الشيفرة التي توضح كيفية تنفيذ هذه الخطوات:

csharp
using Newtonsoft.Json; using System.Data; // الهيكل البيانات لتحويل السلسلة JSON إليه public class TableData { public int m_MaxCapacity { get; set; } public int Capacity { get; set; } public string m_StringValue { get; set; } public int m_currentThread { get; set; } } // الكود الرئيسي public class Program { public static void Main(string[] args) { string jsonString = "{\"m_MaxCapacity\":2147483647,\"Capacity\":1888,\"m_StringValue\":\"
Master IDTag IDPlant IDMachine NameSap IDLog
2296567567hjhnh56717-09-2016 15:03:04
229755555567hjhnh56717-09-2016 15:04:27
229855555567hjhnh000017-09-2016 15:04:53
229955555567hjhnh000017-09-2016 15:05:11
230066786754nnn78917-09-2016 15:20:51
230166786754AF78917-09-2016 15:23:57
230266786754ttttttt78917-09-2016 15:33:22
230366786754ttttttt78917-09-2016 15:43:10
230466786754ttttttt78917-09-2016 15:43:23
230566786754ttttttt78917-09-2016 15:43:50
230666786754lmno78917-09-2016 15:49:25
230766786754ttttttt78922-09-2016 11:23:16
230866786754ttttttt78922-09-2016 11:40:07
230966786754ccccc78922-09-2016 11:40:18
231066786754ttttttt78922-09-2016 11:45:53
231166786754ttttttt78922-09-2016 12:00:48
231266786754mmmmmmmmmm78922-09-2016 12:00:52
\",\"m_currentThread\":0}"
; // تحويل السلسلة JSON إلى هيكل بيانات C# TableData tableData = JsonConvert.DeserializeObject(jsonString); // بناء جدول DataTable DataTable dataTable = new DataTable(); dataTable.Columns.Add("Master ID", typeof(int)); dataTable.Columns.Add("Tag ID", typeof(int)); dataTable.Columns.Add("Plant ID", typeof(int)); dataTable.Columns.Add("Machine Name", typeof(string)); dataTable.Columns.Add("Sap ID", typeof(int)); dataTable.Columns.Add("Log", typeof(DateTime)); // ملء الجدول DataTable بالبيانات string tableContent = tableData.m_StringValue; var rows = tableContent.Split(new[] { "" }, StringSplitOptions.RemoveEmptyEntries); foreach (var row in rows) { var rowData = row.Replace("", "").Split(new[] { "" }, StringSplitOptions.RemoveEmptyEntries); if (rowData.Length == 6) { var newRow = dataTable.NewRow(); newRow["Master ID"] = int.Parse(rowData[0]); newRow["Tag ID"] = int.Parse(rowData[1]); newRow["Plant ID"] = int.Parse(rowData[2]); newRow["Machine Name"] = rowData[3]; newRow["Sap ID"] = int.Parse(rowData[4]); newRow["Log"] = DateTime.Parse(rowData[5]); dataTable.Rows.Add(newRow); } } // الآن يمكن استخدام الجدول DataTable للقيام بالعمليات المناسبة } }

هذا الكود يقوم بتحويل السلسلة JSON المعطاة إلى هيكل بيانات C#، ثم يقوم ببناء جدول DataTable وملؤه بالبيانات المستخرجة من السلسلة JSON. يمكنك تنفيذ هذا الكود في مشروعك واستخدام الجدول DataTable كما ترغب.

المزيد من المعلومات

بعد إعداد الجدول DataTable بنجاح، يمكنك الآن استخدامه لأغراض متعددة في تطبيقك في C#. يمثل الجدول DataTable بيانات الجدول الموجودة في السلسلة JSON بشكل هيكلي ومنظم، مما يتيح لك الوصول إلى البيانات بسهولة وإجراء عمليات مختلفة عليها.

استخدامات الجدول DataTable:

  1. عرض البيانات: يمكنك عرض البيانات الموجودة في الجدول DataTable في واجهة المستخدم أو في النوافذ النصية باستخدام تقنيات العرض المناسبة في C#، مثل استخدام DataGridView في تطبيقات Windows Forms أو استخدام GridView في تطبيقات ASP.NET.

  2. التعديل على البيانات: يمكنك تحديث البيانات في الجدول DataTable وتعديلها وفقاً لاحتياجات تطبيقك، سواء كان ذلك عن طريق إضافة سجلات جديدة، تعديل السجلات الحالية، أو حذف السجلات غير المرغوب فيها.

  3. التحليل والمعالجة: يمكنك تنفيذ عمليات التحليل والمعالجة على البيانات الموجودة في الجدول DataTable، مثل حساب المجاميع أو الأوساط أو إجراء العمليات الإحصائية الأخرى.

  4. الاتصال بقواعد البيانات: يمكن استخدام الجدول DataTable كطريقة مؤقتة لتخزين البيانات قبل تحميلها أو تحديثها في قواعد البيانات الحقيقية. يمكنك تنفيذ عمليات التزامن والتكامل بين الجدول DataTable وقواعد البيانات باستخدام أدوات الاتصال بقواعد البيانات المناسبة في C#، مثل ADO.NET.

  5. التصدير والاستيراد: يمكنك تصدير بيانات الجدول DataTable إلى ملفات مختلفة مثل Excel أو CSV للتبادل مع تطبيقات أخرى، ويمكنك أيضاً استيراد البيانات من مصادر خارجية إلى الجدول DataTable لمعالجتها وعرضها أو تحليلها.

ختامًا:

في هذا المقال، قمنا بشرح كيفية تحويل سلسلة JSON إلى جدول DataTable في C# باستخدام مكتبة Newtonsoft.Json ومن ثم استخدام الجدول DataTable في تطبيقات C# لأغراض مختلفة مثل العرض والتعديل والتحليل. يمثل الجدول DataTable أداة قوية لإدارة البيانات في تطبيقات C#، ويمكن تخصيص استخداماته وفقاً لاحتياجات مشروعك الخاص.

زر الذهاب إلى الأعلى