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