:
عامل التشغيل (علامة النقطين)
ينطبق على: التحقق من Databricks SQL Databricks Runtime
استخراج المحتوى من سلسلة JSON باستخدام تعبير مسار JSON.
بناء الجمله
jsonStr : jsonPath
الحجج
jsonStr
: تعبير STRING مع JSON صالح.jsonPath
: تعبير مسار JSON.
ارجاع
والنتيجة هي STRING. إذا لم يكن الإدخال JSON صالحا أو كان تعبير المسار غير صالح لقيمة JSON، فإن النتيجة هي NULL
.
إذا كانت القيمة المستخرجة غير محددة null
، فإن النتيجة هي NULL
القيمة.
راجع تعبير مسار JSON للحصول على شرح مفصل لمسارات JSON الصالحة.
امثله
> SELECT c1:price
FROM VALUES('{ "price": 5 }') AS T(c1);
5
> SELECT c1:['price']::decimal(5,2)
FROM VALUES('{ "price": 5 }') AS T(c1);
5.00
> SELECT c1:item[1].price::double
FROM VALUES('{ "item": [ { "model" : "basic", "price" : 6.12 },
{ "model" : "medium", "price" : 9.24 } ] }') AS T(c1);
9.24
> SELECT c1:item[*].price
FROM VALUES('{ "item": [ { "model" : "basic", "price" : 6.12 },
{ "model" : "medium", "price" : 9.24 } ] }') AS T(c1);
[6.12,9.24]
> SELECT from_json(c1:item[*].price, 'ARRAY<DOUBLE>')[0]
FROM VALUES('{ "item": [ { "model" : "basic", "price" : 6.12 },
{ "model" : "medium", "price" : 9.24 } ] }') AS T(c1);
6.12
> SELECT from_json(c1:item[*], 'ARRAY<STRUCT<model STRING, price DOUBLE>>')
FROM VALUES('{ "item": [ { "model" : "basic", "price" : 6.12 },
{ "model" : "medium", "price" : 9.24 } ] }') AS T(c1);
[{"model":"basic","price":6.12},{"model":"medium","price":9.24}]
> SELECT inline(from_json(c1:item[*], 'ARRAY<STRUCT<model STRING, price DOUBLE>>'))
FROM VALUES('{ "item": [ { "model" : "basic", "price" : 6.12 },
{ "model" : "medium", "price" : 9.24 } ] }') AS T(c1);
basic 6.12
medium 9.24