[SPARK-11980][SPARK-10621][SQL] Fix json_tuple and add test cases for
[SPARK-11980][SPARK-10621][SQL] Fix json_tuple and add test cases for

Added Python test cases for the function `isnan`, `isnull`, `nanvl` and `json_tuple`.

Fixed a bug in the function `json_tuple`

rxin , could you help me review my changes? Please let me know anything is missing.

Thank you! Have a good Thanksgiving day!

Author: gatorsmile <gatorsmile@gmail.com>

Closes #9977 from gatorsmile/json_tuple.

wangmiao1981/spark,jlopezmalla/spark,alunarbeach/spark,cloud-fan/spark,dhruve/spark,ueshin/apache-spark,HyukjinKwon/spark,patrick-nicholson/spark,darionyaphet/spark,saturday-shi/spark,nilsgrabbert/spark,srowen/spark,xuanyuanking/spark,hhbyyh/spark,lxsmnv/spark,witgo/spark,cin/spark,narahari92/spark,LantaoJin/spark,ConeyLiu/spark,gioenn/xSpark,pgandhi999/spark,goldmedal/spark,ron8hu/spark,mdespriee/spark,liutang123/spark,mahak/spark,ajaysaini725/spark,jianran/spark,ueshin/apache-spark,metamx/spark,sachintyagi22/spark,narahari92/spark,spark-test/spark,Panos-Bletsos/spark-cost-model-optimizer,SnappyDataInc/spark,patrick-nicholson/spark,holdenk/spark,dongjoon-hyun/spark,WindCanDie/spark,icexelloss/spark,1haodian/spark,ron8hu/spark,szhem/spark,sureshthalamati/spark,guoxiaolongzte/spark,Aegeaner/spark,JerryLead/spark,hvanhovell/spark,nilsgrabbert/spark,actuaryzhang/spark,cloud-fan/spark,someorz/spark,ron8hu/spark,jrshust/spark,MLnick/spark,JoshRosen/spark,milliman/spark,ericvandenbergfb/spark,mzl9039/spark,akopich/spark,liyichao/spark,dbtsai/spark,joseph-torres/spark,adrian-ionescu/apache-spark,bravo-zhang/spark,SnappyDataInc/spark,setjet/spark,map222/spark,gengliangwang/spark,BryanCutler/spark,UndeadBaneGitHub/spark,map222/spark,apache/spark,szhem/spark,ConeyLiu/spark,1haodian/spark,minixalpha/spark,chuckchen/spark,caneGuy/spark,jlopezmalla/spark,MLnick/spark,stanzhai/spark,kevinyu98/spark,wangmiao1981/spark,jiangxb1987/spark,setjet/spark,yanboliang/spark,xuanyuanking/spark,shaneknapp/spark,esi-mineset/spark,zhouyejoe/spark,JoshRosen/spark,michalsenkyr/spark,mdespriee/spark,brad-kaiser/spark,tengpeng/spark,someorz/spark,highfei2011/spark,cin/spark,debugger87/spark,shubhamchopra/spark,saturday-shi/spark,xflin/spark,sachintyagi22/spark,jkbradley/spark,dhruve/spark,nilsgrabbert/spark,zhouyejoe/spark,taroplus/spark,spark-test/spark,ueshin/apache-spark,bdrillard/spark,cloud-fan/spark,skonto/spark,minixalpha/spark,akopich/spark,mdespriee/spark,panfengfeng/spark,BryanCutler/spark,nilsgrabbert/spark,liutang123/spark,ioana-delaney/spark,hvanhovell/spark,saltstar/spark,vinodkc/spark,zero323/spark,adrian-ionescu/apache-spark,bdrillard/spark,saturday-shi/spark,rezasafi/spark,poffuomo/spark,huang1900/spark,icexelloss/spark,icexelloss/spark,mahak/spark,sahilTakiar/spark,maropu/spark,BryanCutler/spark,holdenk/spark,guoxiaolongzte/spark,icexelloss/spark,gioenn/xSpark,szhem/spark,ConeyLiu/spark,gengliangwang/spark,guoxiaolongzte/spark,wangmiao1981/spark,narahari92/spark,szhem/spark,cloud-fan/spark,dbtsai/spark,lvdongr/spark,darionyaphet/spark,jiangxb1987/spark,HyukjinKwon/spark,bravo-zhang/spark,kevinyu98/spark,kissmetrics/spark,apache-spark-on-k8s/spark,ron8hu/spark,ajaysaini725/spark,wangyum/spark,someorz/spark,map222/spark,jkbradley/spark,SHASHANKB/spark,hvanhovell/spark,sureshthalamati/spark,tengpeng/spark,szhem/spark,aokolnychyi/spark,saltstar/spark,ptkool/spark,rekhajoshm/spark,SHASHANKB/spark,metamx/spark,gioenn/xSpark,jianran/spark,ddna1021/spark,tejasapatil/spark,xflin/spark,dhruve/spark,shuangshuangwang/spark,someorz/spark,shubhamchopra/spark,andrewor14/spark,setjet/spark,stanzhai/spark,loneknightpy/spark,loneknightpy/spark,lvdongr/spark,zzcclp/spark,publicRoman/spark,zzcclp/spark,eyalfa/spark,tengpeng/spark,michalsenkyr/spark,michalsenkyr/spark,1haodian/spark,mahak/spark,xflin/spark,jlopezmalla/spark,patrick-nicholson/spark,ajaysaini725/spark,aosagie/spark,bOOm-X/spark,ptkool/spark,esi-mineset/spark,metamx/spark,rednaxelafx/apache-spark,techaddict/spark,sahilTakiar/spark,zuotingbing/spark,holdenk/spark,saltstar/spark,vinodkc/spark,shuangshuangwang/spark,maropu/spark,dbtsai/spark,pgandhi999/spark,rikima/spark,debugger87/spark,zhouyejoe/spark,ericvandenbergfb/spark,markhamstra/spark,bravo-zhang/spark,gioenn/xSpark,kevinyu98/spark,hhbyyh/spark,someorz/spark,aosagie/spark,facaiy/spark,dbtsai/spark,lxsmnv/spark,kissmetrics/spark,setjet/spark,apache-spark-on-k8s/spark,ConeyLiu/spark,eyalfa/spark,milliman/spark,panfengfeng/spark,zuotingbing/spark,kevinyu98/spark,SHASHANKB/spark,caneGuy/spark,ddna1021/spark,pgandhi999/spark,poffuomo/spark,yanboliang/spark,WeichenXu123/spark,map222/spark,jrshust/spark,xuanyuanking/spark,kimoonkim/spark,matthewfranglen/spark,xflin/spark,witgo/spark,ahnqirage/spark,mahak/spark,wzhfy/spark,HyukjinKwon/spark,zero323/spark,jianran/spark,brad-kaiser/spark,hvanhovell/spark,saturday-shi/spark,rekhajoshm/spark,mzl9039/spark,icexelloss/spark,joseph-torres/spark,lxsmnv/spark,vinodkc/spark,jrshust/spark,BryanCutler/spark,zhouyejoe/spark,janewangfb/spark,MLnick/spark,zuotingbing/spark,goldmedal/spark,janewangfb/spark,bOOm-X/spark,Aegeaner/spark,darionyaphet/spark,HyukjinKwon/spark,rednaxelafx/apache-spark,gengliangwang/spark,liyichao/spark,ptkool/spark,actuaryzhang/spark,tejasapatil/spark,rednaxelafx/apache-spark,highfei2011/spark,apache-spark-on-k8s/spark,wzhfy/spark,chuckchen/spark,gengliangwang/spark,lvdongr/spark,SnappyDataInc/spark,HyukjinKwon/spark,xflin/spark,poffuomo/spark,ibm-research-ireland/sparkoscope,rikima/spark,bravo-zhang/spark,liyichao/spark,kimoonkim/spark,WeichenXu123/spark,pgandhi999/spark,bdrillard/spark,panfengfeng/spark,witgo/spark,dongjoon-hyun/spark,aokolnychyi/spark,aosagie/spark,sureshthalamati/spark,vinodkc/spark,zzcclp/spark,map222/spark,Panos-Bletsos/spark-cost-model-optimizer,someorz/spark,zuotingbing/spark,ueshin/apache-spark,akopich/spark,debugger87/spark,dongjoon-hyun/spark,debugger87/spark,highfei2011/spark,jlopezmalla/spark,eyalfa/spark,milliman/spark,liyichao/spark,esi-mineset/spark,rekhajoshm/spark,publicRoman/spark,mzl9039/spark,milliman/spark,sahilTakiar/spark,nlalevee/spark,taroplus/spark,metamx/spark,liyichao/spark,saltstar/spark,shuangshuangwang/spark,facaiy/spark,janewangfb/spark,UndeadBaneGitHub/spark,publicRoman/spark,kiszk/spark,mdespriee/spark,mahak/spark,darionyaphet/spark,saturday-shi/spark,ddna1021/spark,jrshust/spark,actuaryzhang/spark,caneGuy/spark,gioenn/xSpark,michalsenkyr/spark,eyalfa/spark,nlalevee/spark,Panos-Bletsos/spark-cost-model-optimizer,WindCanDie/spark,patrick-nicholson/spark,andrewor14/spark,facaiy/spark,shuangshuangwang/spark,minixalpha/spark,esi-mineset/spark,ericvandenbergfb/spark,nlalevee/spark,andrewor14/spark,panfengfeng/spark,HyukjinKwon/spark,caneGuy/spark,facaiy/spark,techaddict/spark,akopich/spark,pgandhi999/spark,big-pegasus/spark,panfengfeng/spark,sahilTakiar/spark,BryanCutler/spark,szhem/spark,nchammas/spark,bdrillard/spark,WindCanDie/spark,kissmetrics/spark,maropu/spark,wangmiao1981/spark,loneknightpy/spark,dbtsai/spark,tejasapatil/spark,mdespriee/spark,tengpeng/spark,kimoonkim/spark,ibm-research-ireland/sparkoscope,hhbyyh/spark,alunarbeach/spark,akopich/spark,markhamstra/spark,minixalpha/spark,markhamstra/spark,byakuinss/spark,maropu/spark,kevinyu98/spark,techaddict/spark,huang1900/spark,milliman/spark,rikima/spark,publicRoman/spark,poffuomo/spark,setjet/spark,dongjoon-hyun/spark,saltstar/spark,someorz/spark,dongjoon-hyun/spark,skonto/spark,hhbyyh/spark,debugger87/spark,byakuinss/spark,facaiy/spark,liutang123/spark,bravo-zhang/spark,aray/spark,saturday-shi/spark,brad-kaiser/spark,aosagie/spark,gengliangwang/spark,LantaoJin/spark,esi-mineset/spark,eyalfa/spark,dbtsai/spark,cin/spark,shuangshuangwang/spark,xuanyuanking/spark,shuangshuangwang/spark,nlalevee/spark,holdenk/spark,jianran/spark,aokolnychyi/spark,JoshRosen/spark,ddna1021/spark,spark-test/spark,tengpeng/spark,andrewor14/spark,setjet/spark,taroplus/spark,ptkool/spark,icexelloss/spark,brad-kaiser/spark,mike0sv/spark,ahnqirage/spark,joseph-torres/spark,mzl9039/spark,aray/spark,ddna1021/spark,yanboliang/spark,apache-spark-on-k8s/spark,Aegeaner/spark,ajaysaini725/spark,lvdongr/spark,dhruve/spark,highfei2011/spark,big-pegasus/spark,gengliangwang/spark,kimoonkim/spark,nlalevee/spark,joseph-torres/spark,adrian-ionescu/apache-spark,sahilTakiar/spark,mike0sv/spark,sachintyagi22/spark,bravo-zhang/spark,brad-kaiser/spark,cloud-fan/spark,wangyum/spark,wzhfy/spark,jkbradley/spark,nchammas/spark,Panos-Bletsos/spark-cost-model-optimizer,kiszk/spark,JoshRosen/spark,rikima/spark,minixalpha/spark,guoxiaolongzte/spark,ConeyLiu/spark,dhruve/spark,ron8hu/spark,1haodian/spark,LantaoJin/spark,huang1900/spark,metamx/spark,sachintyagi22/spark,BryanCutler/spark,highfei2011/spark,SnappyDataInc/spark,ueshin/apache-spark,panfengfeng/spark,mahak/spark,WindCanDie/spark,aray/spark,taroplus/spark,loneknightpy/spark,SHASHANKB/spark,JoshRosen/spark,rezasafi/spark,mike0sv/spark,guoxiaolongzte/spark,srowen/spark,akopich/spark,Panos-Bletsos/spark-cost-model-optimizer,ericvandenbergfb/spark,holdenk/spark,darionyaphet/spark,ioana-delaney/spark,mdespriee/spark,kissmetrics/spark,UndeadBaneGitHub/spark,WeichenXu123/spark,witgo/spark,UndeadBaneGitHub/spark,bdrillard/spark,joseph-torres/spark,ptkool/spark,aokolnychyi/spark,zero323/spark,icexelloss/spark,1haodian/spark,liutang123/spark,LantaoJin/spark,goldmedal/spark,lxsmnv/spark,UndeadBaneGitHub/spark,kissmetrics/spark,dongjoon-hyun/spark,nchammas/spark,tengpeng/spark,ibm-research-ireland/sparkoscope,witgo/spark,narahari92/spark,rezasafi/spark,xuanyuanking/spark,liutang123/spark,mike0sv/spark,ueshin/apache-spark,ioana-delaney/spark,liutang123/spark,ahnqirage/spark,bOOm-X/spark,jlopezmalla/spark,hhbyyh/spark,huang1900/spark,big-pegasus/spark,brad-kaiser/spark,ericvandenbergfb/spark,ioana-delaney/spark,alunarbeach/spark,vinodkc/spark,saltstar/spark,patrick-nicholson/spark,UndeadBaneGitHub/spark,JerryLead/spark,publicRoman/spark,caneGuy/spark,chuckchen/spark,chuckchen/spark,metamx/spark,janewangfb/spark,ahnqirage/spark,mzl9039/spark,setjet/spark,lxsmnv/spark,SHASHANKB/spark,SnappyDataInc/spark,shaneknapp/spark,tejasapatil/spark,JerryLead/spark,jrshust/spark,jianran/spark,kiszk/spark,holdenk/spark,kiszk/spark,actuaryzhang/spark,rikima/spark,apache/spark,yanboliang/spark,rednaxelafx/apache-spark,sureshthalamati/spark,hvanhovell/spark,kimoonkim/spark,saturday-shi/spark,jiangxb1987/spark,WindCanDie/spark,srowen/spark,bOOm-X/spark,yanboliang/spark,zuotingbing/spark,jiangxb1987/spark,zuotingbing/spark,zero323/spark,sachintyagi22/spark,actuaryzhang/spark,rikima/spark,maropu/spark,stanzhai/spark,andrewor14/spark,jrshust/spark,lxsmnv/spark,bdrillard/spark,ptkool/spark,ahnqirage/spark,wzhfy/spark,ueshin/apache-spark,michalsenkyr/spark,michalsenkyr/spark,minixalpha/spark,byakuinss/spark,jianran/spark,Aegeaner/spark,byakuinss/spark,wangmiao1981/spark,chuckchen/spark,zero323/spark,adrian-ionescu/apache-spark,jkbradley/spark,pgandhi999/spark,cloud-fan/spark,wangyum/spark,WindCanDie/spark,mike0sv/spark,alunarbeach/spark,chuckchen/spark,alunarbeach/spark,poffuomo/spark,SnappyDataInc/spark,shaneknapp/spark,wangyum/spark,xuanyuanking/spark,1haodian/spark,joseph-torres/spark,dhruve/spark,skonto/spark,Aegeaner/spark,bOOm-X/spark,jkbradley/spark,darionyaphet/spark,actuaryzhang/spark,adrian-ionescu/apache-spark,nilsgrabbert/spark,SnappyDataInc/spark,WeichenXu123/spark,jrshust/spark,techaddict/spark,techaddict/spark,poffuomo/spark,joseph-torres/spark,zzcclp/spark,SHASHANKB/spark,rezasafi/spark,apache/spark,poffuomo/spark,highfei2011/spark,tejasapatil/spark,gengliangwang/spark,stanzhai/spark,kimoonkim/spark,vinodkc/spark,janewangfb/spark,sachintyagi22/spark,srowen/spark,shubhamchopra/spark,kiszk/spark,apache/spark,darionyaphet/spark,nchammas/spark,JerryLead/spark,ibm-research-ireland/sparkoscope,eyalfa/spark,taroplus/spark,wzhfy/spark,markhamstra/spark,WindCanDie/spark,rezasafi/spark,shuangshuangwang/spark,apache/spark,SHASHANKB/spark,facaiy/spark,ioana-delaney/spark,narahari92/spark,jiangxb1987/spark,mike0sv/spark,ahnqirage/spark,nlalevee/spark,lxsmnv/spark,ajaysaini725/spark,taroplus/spark,zhouyejoe/spark,andrewor14/spark,goldmedal/spark,rednaxelafx/apache-spark,spark-test/spark,rezasafi/spark,bravo-zhang/spark,aosagie/spark,minixalpha/spark,panfengfeng/spark,narahari92/spark,dhruve/spark,ahnqirage/spark,Panos-Bletsos/spark-cost-model-optimizer,nilsgrabbert/spark,byakuinss/spark,wangyum/spark,ioana-delaney/spark,kiszk/spark,apache-spark-on-k8s/spark,jiangxb1987/spark,srowen/spark,akopich/spark,big-pegasus/spark,kimoonkim/spark,aokolnychyi/spark,maropu/spark,rekhajoshm/spark,mzl9039/spark,xuanyuanking/spark,hhbyyh/spark,shubhamchopra/spark,hvanhovell/spark,wangyum/spark,wzhfy/spark,byakuinss/spark,aokolnychyi/spark,nilsgrabbert/spark,milliman/spark,mahak/spark,saltstar/spark,nchammas/spark,sachintyagi22/spark,jlopezmalla/spark,rezasafi/spark,kissmetrics/spark,mike0sv/spark,aray/spark,wangmiao1981/spark,lvdongr/spark,MLnick/spark,kissmetrics/spark,chuckchen/spark,skonto/spark,bOOm-X/spark,markhamstra/spark,ajaysaini725/spark,ericvandenbergfb/spark,zhouyejoe/spark,cin/spark,JerryLead/spark,Panos-Bletsos/spark-cost-model-optimizer,lvdongr/spark,guoxiaolongzte/spark,shubhamchopra/spark,goldmedal/spark,pgandhi999/spark,loneknightpy/spark,ajaysaini725/spark,JoshRosen/spark,big-pegasus/spark,rekhajoshm/spark,JoshRosen/spark,rednaxelafx/apache-spark,loneknightpy/spark,ddna1021/spark,rekhajoshm/spark,MLnick/spark,holdenk/spark,shaneknapp/spark,witgo/spark,zzcclp/spark,huang1900/spark,ron8hu/spark,yanboliang/spark,Aegeaner/spark,JerryLead/spark,LantaoJin/spark,WeichenXu123/spark,mzl9039/spark,markhamstra/spark,huang1900/spark,map222/spark,byakuinss/spark,gioenn/xSpark,JerryLead/spark,spark-test/spark,UndeadBaneGitHub/spark,rekhajoshm/spark,narahari92/spark,ibm-research-ireland/sparkoscope,skonto/spark,loneknightpy/spark,stanzhai/spark,MLnick/spark,markhamstra/spark,ConeyLiu/spark,ddna1021/spark,tejasapatil/spark,sahilTakiar/spark,wzhfy/spark,alunarbeach/spark,jianran/spark,ioana-delaney/spark,yanboliang/spark,dbtsai/spark,andrewor14/spark,srowen/spark,highfei2011/spark,BryanCutler/spark,sureshthalamati/spark,janewangfb/spark,aokolnychyi/spark,rikima/spark,guoxiaolongzte/spark,adrian-ionescu/apache-spark,shubhamchopra/spark,apache-spark-on-k8s/spark,milliman/spark,ibm-research-ireland/sparkoscope,MLnick/spark,eyalfa/spark,goldmedal/spark,techaddict/spark,aray/spark,stanzhai/spark,vinodkc/spark,zzcclp/spark,hhbyyh/spark,aray/spark,caneGuy/spark,nlalevee/spark,LantaoJin/spark,kevinyu98/spark,aosagie/spark,szhem/spark,mdespriee/spark,tejasapatil/spark,apache-spark-on-k8s/spark,shaneknapp/spark,skonto/spark,publicRoman/spark,zero323/spark,WeichenXu123/spark,ron8hu/spark,lvdongr/spark,big-pegasus/spark,apache/spark,cloud-fan/spark,nchammas/spark,brad-kaiser/spark,liutang123/spark,ptkool/spark,1haodian/spark,dongjoon-hyun/spark,aosagie/spark,jkbradley/spark,aray/spark,wangyum/spark,bdrillard/spark,ibm-research-ireland/sparkoscope,janewangfb/spark,debugger87/spark,actuaryzhang/spark,liyichao/spark,rednaxelafx/apache-spark,zhouyejoe/spark,kiszk/spark,stanzhai/spark,liyichao/spark,wangmiao1981/spark,publicRoman/spark,apache/spark,xflin/spark,adrian-ionescu/apache-spark,HyukjinKwon/spark,Aegeaner/spark,bOOm-X/spark,LantaoJin/spark,maropu/spark,esi-mineset/spark,metamx/spark,sureshthalamati/spark,kevinyu98/spark,debugger87/spark,goldmedal/spark,witgo/spark,map222/spark,shaneknapp/spark,skonto/spark,tengpeng/spark,jiangxb1987/spark,alunarbeach/spark,caneGuy/spark,zero323/spark,cin/spark,zzcclp/spark,facaiy/spark,spark-test/spark,taroplus/spark,jkbradley/spark,gioenn/xSpark,hvanhovell/spark,cin/spark,shaneknapp/spark,ConeyLiu/spark,WeichenXu123/spark,esi-mineset/spark,ericvandenbergfb/spark,huang1900/spark,patrick-nicholson/spark,shubhamchopra/spark,big-pegasus/spark,xflin/spark,patrick-nicholson/spark,techaddict/spark,spark-test/spark,zuotingbing/spark,michalsenkyr/spark,sahilTakiar/spark,nchammas/spark,cin/spark,sureshthalamati/spark,srowen/spark,jlopezmalla/spark