我正在尝试在嵌套的 JSON 响应中查找 URL 并将它们映射。到目前为止,我的功能如下所示:
def list(env, id) do
Service.get_document(env, id)
|> Poison.decode!
|> Enum.find(fn {_key, val} -> String.starts_with?(val, 'https') end)
end
JSON 大致如下所示:
"stacks": [
{
"boxes": [
{
"content": "https://ddd.cloudfront.net/photos/uploaded_images/000/001/610/original/1449447147677.jpg?1505956120",
"box": "photo"
}
]
}
],
"logo": "https://ddd.cloudfront.net/users/cmyk_banners/000/000/002/original/banner_CMYK.jpg?1397201875"
因此 URL 可以有任何键,并且可以处于任何级别。
使用该代码,我收到此错误:
no function clause matching in String.starts_with?/2
有人有更好的方法在 JSON 响应中找到吗?