Json 提取与 Json 提取标量
Posted
技术标签:
【中文标题】Json 提取与 Json 提取标量【英文标题】:Json Extract vs Json Extract Scalar 【发布时间】:2019-01-21 05:53:11 【问题描述】:我有一个 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"]
我想了解它们之间有什么区别以及何时使用哪个?
【问题讨论】:
【参考方案1】:https://docs.aws.amazon.com/athena/latest/ug/extracting-data-from-JSON.html
要从 JSON 字符串中提取标量值,请使用 json_extract_scalar 函数。它类似于 json_extract,但只返回标量值(布尔值、数字或字符串)。
注意:不要对数组、映射或结构使用 json_extract_scalar 函数。
【讨论】:
【参考方案2】:如果你想提取到一个数组,那么只需使用
JSON.parse(a);
不需要做额外的努力。
【讨论】:
以上是关于Json 提取与 Json 提取标量的主要内容,如果未能解决你的问题,请参考以下文章