我有一个需要提取数组的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(a, '$.player.username')
返回user1
但是我做JsonExtractScalar(a, '$.player.player_Name')
,它返回了null
。
与此同时,JsonExtract(a, '$.player.username')
返回[{"firstname":"my_first"},{"lastname":"my_last"}]
我想了解它们之间的区别以及何时使用哪个?
答案 0 :(得分:1)
https://docs.aws.amazon.com/athena/latest/ug/extracting-data-from-JSON.html
要从JSON字符串中提取标量值,请使用json_extract_scalar函数。它类似于json_extract,但仅返回标量值(布尔值,数字或字符串)。
注意:请勿在数组,地图或结构上使用json_extract_scalar函数。
答案 1 :(得分:0)
如果要提取到数组,则只需使用
JSON.parse(a);
无需付出额外的努力。