我正在解析XML提要,并尝试创建JSON输出。我似乎无法弄清楚为什么我的 JSON 格式关闭了。这是我用来循环遍历 XML 源、解析它并构建 JSON 输出的代码:
$xml = simplexml_load_file($myxmlfeed, 'SimpleXMLElement', LIBXML_NOERROR | LIBXML_NOWARNING);
foreach ($xml->{'xml-node-name'} as $article)
{
$tmp = array(
"title" => $article->title,
"image" => null,
"resource" => array(
"articleLink" => $site)
);
array_push($array, $tmp);
unset($tmp);
}
这是输出:
[
{
"title":{
"0":"This is my article title"
},
"image":null,
"resource":{
"articleLink":"http://www.website.com/link.html"
}
}
]
但是,这是我需要的输出格式:
[
{
"title":"This is my article title",
"image":null,
"resource":{
"articleLink":"http://www.website.com/link.html"
}
}
]
为什么要将"标题"添加为键/值对?
看起来$article->title
是一个数组,而不是您想要的字符串。XML 的示例将帮助我们解释原因,但同时您需要访问该数组的元素 0:
$tmp = array(
"title" => $article->title[0],
"image" => null,
"resource" => array(
"articleLink" => $site
)
);