"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استخراج صفائف القيمة من صفائف كائن JSON في SQL Server 2016؟

كيفية استخراج صفائف القيمة من صفائف كائن JSON في SQL Server 2016؟

نشر في 2025-04-18
تصفح:126

How to Extract an Array of Values from an Array of JSON Objects in SQL Server 2016?

SQL Server 2016: تحويل صفائف كائن JSON إلى صفائف قيمة

SQL Server 2016 JSON SERVER 2016 هي قوية ، ولكن استخراج هياكل بيانات محددة يتطلب أحيانًا أساليب إبداعية. يوضح هذا المثال تحويل مجموعة JSON من الكائنات إلى مجموعة أبسط من القيم.

التحدي:

فكر في استعلام يولد مجموعة JSON من الكائنات:

SELECT (SELECT item_id 
FROM #temp
FOR JSON PATH, root('ids')) 

هذا يعطي JSON مثل هذا:

{
  "ids": [
    {"item_id": "1234"},
    {"item_id": "5678"},
    {"item_id": "7890"}
  ]
}

الهدف هو إعادة هيكلة هذا إلى صفيف JSON يحتوي فقط على item_id القيم:

{
  "ids": [
    "1234",
    "5678",
    "7890"
  ]
}

الحل:

المفتاح هو عملية من خطوتين تستفيد من XML كوسيط:

SELECT  
JSON_QUERY('['   STUFF(( SELECT ','   '"'   item_id   '"' 
FROM #temp FOR XML PATH('')),1,1,'')   ']' ) ids  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 

يستخدم هذا الرمز أولاً لمسار XML ('') لتسلسل القيم item_id ، المحيطة بكل اقتباسات مزدوجة. الأشياء يزيل الفاصلة الرائدة. ثم يتم لف النتيجة بأقواس مربعة لإنشاء مجموعة JSON صالحة ، والتي JSON_QUERY تحليلات. أخيرًا ، بالنسبة لـ JSON PATH ، بدون _RAY_WRAPPER ، يقوم بتنسيق الإخراج كصفيف JSON بسيط. هذا يشهد بشكل فعال صفيف كائن JSON الأصلي في صفيف القيمة المطلوب.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3