This repository was archived by the owner on Feb 7, 2026. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1005,6 +1005,8 @@ export class BigQuery extends Service {
10051005 'GEOGRAPHY' ,
10061006 'ARRAY' ,
10071007 'STRUCT' ,
1008+ 'JSON' ,
1009+ 'RANGE' ,
10081010 ] ;
10091011
10101012 if ( is . array ( providedType ) ) {
@@ -1182,6 +1184,8 @@ export class BigQuery extends Service {
11821184 } ,
11831185 { }
11841186 ) ;
1187+ } else if ( typeName === 'JSON' && is . object ( value ) ) {
1188+ queryParameter . parameterValue ! . value = JSON . stringify ( value ) ;
11851189 } else {
11861190 queryParameter . parameterValue ! . value = BigQuery . _getValue (
11871191 value ,
Original file line number Diff line number Diff line change @@ -1521,6 +1521,33 @@ describe('BigQuery', () => {
15211521 assert . deepStrictEqual ( param , expectedParam ) ;
15221522 } ) ;
15231523
1524+ it ( 'should format JSON types' , ( ) => {
1525+ const typeName = 'JSON' ;
1526+ const value = {
1527+ foo : 'bar' ,
1528+ } ;
1529+ const strValue = JSON . stringify ( value ) ;
1530+ assert . deepStrictEqual ( BigQuery . valueToQueryParameter_ ( value , typeName ) , {
1531+ parameterType : {
1532+ type : typeName ,
1533+ } ,
1534+ parameterValue : {
1535+ value : strValue ,
1536+ } ,
1537+ } ) ;
1538+ assert . deepStrictEqual (
1539+ BigQuery . valueToQueryParameter_ ( strValue , typeName ) ,
1540+ {
1541+ parameterType : {
1542+ type : typeName ,
1543+ } ,
1544+ parameterValue : {
1545+ value : strValue ,
1546+ } ,
1547+ }
1548+ ) ;
1549+ } ) ;
1550+
15241551 it ( 'should format all other types' , ( ) => {
15251552 const typeName = 'ANY-TYPE' ;
15261553 sandbox . stub ( BigQuery , 'getTypeDescriptorFromValue_' ) . returns ( {
You can’t perform that action at this time.
0 commit comments