我有一个带有两个数组的JSON对象 - 一个keys数组和一个values数组,两者长度相同.使用jmespath,我想构造一个新对象,使用keys数组的值作为键,values数组的值作为值,就像array_combine在PHP中一样.
例如,这是输入:
{
"keys": [
"a",
"b",
"c"
],
"values": [
1,
2,
3
]
}
Run Code Online (Sandbox Code Playgroud)
这是我期待的输出:
{
"a": 1,
"b": 2,
"c": 3
}
Run Code Online (Sandbox Code Playgroud)
有没有内置功能来实现这一目标?
我在亚马逊S3桶中存储了200万个文件.下面有一个给定的根(l1),l1下的目录列表,然后每个目录包含文件.所以我的桶看起来像下面这样
l1/a1/file1-1.jpg
l1/a1/file1-2.jpg
l1/a1/... another 500 files
l1/a2/file2-1.jpg
l1/a2/file2-2.jpg
l1/a2/... another 500 files
....
l1/a5000/file5000-1.jpg
Run Code Online (Sandbox Code Playgroud)
我想尽快列出二级条目,所以我想得到a1,a2,a5000.我不想列出所有的密钥,这将花费更长的时间.
我很乐意直接使用AWS api,但是到目前为止我已经使用ruby中的right_aws gem玩了http://rdoc.info/projects/rightscale/right_aws
该gem中至少有两个API,我尝试在S3模块中使用bucket.keys(),在S3Interface模块中使用incrementally_list_bucket().例如,我可以设置前缀和分隔符列出所有l1/a1/*,但我无法弄清楚如何仅列出l1中的第一级.在incrementally_list_bucket()返回的哈希中有一个:common_prefixes条目,但在我的测试样本中没有填写.
S3 API可以实现此操作吗?
谢谢!