Arrays Json提取vs Json提取标量
我有一个json字符串,需要在其中提取一个数组Arrays Json提取vs Json提取标量,arrays,json,hive,apache-pig,Arrays,Json,Hive,Apache Pig,我有一个json字符串,需要在其中提取一个数组 a='{"player":{"username":"user1","partner_Name":[{"firstname":"my_first"},{"lastname":"my_last"}],"characteristics":{"race":"Human","class":"Warlock","subclass":"Dawnblade","power":300,"playercountry":"USA"}}}' JsonExtractSca
a='{"player":{"username":"user1","partner_Name":[{"firstname":"my_first"},{"lastname":"my_last"}],"characteristics":{"race":"Human","class":"Warlock","subclass":"Dawnblade","power":300,"playercountry":"USA"}}}'
JsonExtractScalar(一个,'$.player.username')
它返回user1
但是我使用了jsonextractclaral(一个,'$.player.player_Name')
它返回null
同时JsonExtract(一个,'$.player.username')
返回[{“firstname”:“my_first”},{“lastname”:“my_last”}]
我想了解它们之间的区别以及何时使用哪一个?如果要提取到数组,只需使用
JSON.parse(a);
无需额外努力。
要从JSON字符串中提取标量值,请使用JSON_extract_标量函数。它类似于json_extract,但只返回标量值(布尔值、数字或字符串)
注意:不要在数组、映射或结构上使用json_extract_标量函数