Arrays Json提取vs 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

我有一个json字符串,需要在其中提取一个数组

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_标量函数