تابع JSON_SERIALIZE در اوراکل نسخه 19c ارائه شد این تابع دیتای JSON را در هر دیتاتایپی که باشد، به صورت متن نمایش می دهد:
SQL> create table tbl_JSON (id number,ettelaat BLOB constraint jc1 check (ettelaat is json) ); Table created SQL> insert into tbl_JSON values(2,'{"First_Name":"Vahid","Last_Name":"Usefzadeh","Contact":{"Email":"vahidusefzadeh@gmail.com","Phone":"091111111117"}}'); 1 row inserted
SQL> select ETTELAAT from tbl_JSON; ETTELAAT ----------------------------------- 7B2246697273745F4E616D65223A225661686964222C224C6173745F4E616D65223A22557365667A61646568222C22436F6E74616374223A7B22456D61696C223A227661686964757365667A61646568
با استفاده از تابع JSON_SERIALIZE می توان اطلاعات باینری فوق را به صورت متن نمایش داد:
SQL> select json_serialize(ETTELAAT) ETTELAAT from tbl_JSON; ETTELAAT -------------------------------------------------------------------------------- {"First_Name":"Vahid","Last_Name":"Usefzadeh","Contact":{"Email":"vahidusefzadeh@gmail.com","Phone":"091111111117"}}
با اضافه کردن عبارت pretty خروجی فوق به صورت شکیل تر به نمایش در خواهد آمد:
SQL> select json_serialize(ETTELAAT pretty) ETTELAAT from tbl_JSON; ETTELAAT ------------------------------------ { "First_Name" : "Vahid", "Last_Name" : "Usefzadeh", "Contact" : { "Email" : "vahidusefzadeh@gmail.com", "Phone" : "091111111117" } }
در اوراکل 23c عبارت ordered هم اضافه شد که ترتیب نمایش ستونها را می توان از طریق آن تغییر داد:
SQL> select json_serialize(ETTELAAT ordered ) ETTELAAT from usef.tbl_JSON; ETTELAAT ------------------------------ {"Contact":{"Email":"vahidusefzadeh@gmail.com","Phone":"091111111117"},"First_Name":"Vahid","Last_Name":"Usefzadeh"}