【发布时间】:2019-11-18 08:56:23
【问题描述】:
我正在使用 Google Tag Manager 库来获取我帐户中的所有标签。我正在从https://www.googleapis.com/discovery/v1/apis/tagmanager/v2/rest 获取 JSON 数据。此 JSON 不适用于我,我无法使用 PHP 对其进行解码。
例子:
{
"tag":[
{
"path":"tags/1",
"accountId":"1"
},
{
"path":"tags/2",
"accountId":"1"
}
],
"tag":[
{
"path":"tags/1",
"accountId":"2"
},
{
"path":"tags/2",
"accountId":"2"
}
],
"tag":[
{
"path":"tags/1",
"accountId":"3"
}
]
}
并在json debugger website 上进行测试我有错误Duplicate key, names should be unique.。
如何修复此 JSON 以使其与 PHP json_decode($json, true) 一起使用?
以前的丑陋代码
$json = str_replace('\n', '', $get_json);
$json = preg_replace('/\s+/', ' ', $json);
$json = str_replace('}{}{', ',', $json);
$json = str_replace('}{', ',', $json);
$json = str_replace('"tag": [', '"tag": ', $json);
$json = str_replace('} } ]', '} } }', $json);
$json = str_replace('tag":', 'tag_manage":', $json);
$json = str_replace('tag_manage', 'tag_manage', $json);
$json = preg_replace('/tag_manage/', 'tag_1_manage', $json, 1);
$json = preg_replace('/tag_manage/', 'tag_2_manage', $json, 1);
$json = preg_replace('/tag_manage/', 'tag_3_manage', $json, 1);
【问题讨论】:
-
这看起来不像来自 GTM API 的响应。您向 API 发送什么请求以获得这种响应?预期的响应是“标签”的单个键,然后是带有实际标签的对象数组:developers.google.com/tag-manager/api/v2/reference/accounts/…
标签: php json google-tag-manager