Php JSON问题
我试图让PHP读取XML文件,然后将其转换为JSON,以便在我编写的某些类中使用。我遇到的问题是它不会循环通过所有XML节点 出于某种原因,它将只返回一个节点,而不是同时返回两个节点。我猜可能我的JSON对象格式不正确。我已经搞了两天了,呃!我是新手,所以对我宽容点;) tracker.xml json.php 我知道我可以将Php JSON问题,php,json,Php,Json,我试图让PHP读取XML文件,然后将其转换为JSON,以便在我编写的某些类中使用。我遇到的问题是它不会循环通过所有XML节点 出于某种原因,它将只返回一个节点,而不是同时返回两个节点。我猜可能我的JSON对象格式不正确。我已经搞了两天了,呃!我是新手,所以对我宽容点;) tracker.xml json.php 我知道我可以将true作为第二个参数传递给json\u decode(),但我想处理对象 以下是json\u decode()的输出(通过getJSON进行格式化后): return立即
true
作为第二个参数传递给json\u decode()
,但我想处理对象
以下是json\u decode()
的输出(通过getJSON进行格式化后):
return
立即从当前函数返回。您需要echo
进行调试,如中所示
foreach($json->student as $v)
{
echo 'ID: '.$v->id.'Last: '.$v->lname.'First: '.$v->fname;
}
如果要返回结果,只需返回JSON对象或将其解析为数组或字符串。
return
立即从当前函数返回。您需要echo
进行调试,如中所示
foreach($json->student as $v)
{
echo 'ID: '.$v->id.'Last: '.$v->lname.'First: '.$v->fname;
}
如果要返回结果,只需返回JSON对象或将其解析为数组或字符串。我认为JSON字符串正确,问题在于
return
语句-在数组中循环时,使用echo
。我认为JSON字符串正确,问题在于return
语句-在数组中循环时,使用echo
。关于JSON
我重新格式化了你的输出。如您所见,“学生”下有两个节点。可能您错过了[
和]
字符
下次格式化JSON以更好地了解正在发生的事情。:)
关于你的职能 由于调试输出被破坏,您可能也错过了它:
foreach($json->student as $v)
{
return 'ID: '.$v->id.'Last: '.$v->lname.'First: '.$v->fname;
}
在第一次迭代之后返回
尝试:
不过,老实说,我希望名为getJSON()
的函数返回,嗯。。。JSON。不是作者写的字符串。您的类和函数总体上命名不好
也许您的函数应该如下所示:
public function getJSON()
{
$json = json_decode($this->xmlArray);
// some debug output for development
foreach ($json->student as $v) {
echo "ID: {$v->id} Last: {$v->lname} First: {$v->fname}\n";
}
return $json;
}
关于你的JSON
我重新格式化了你的输出。如您所见,“学生”下有两个节点。可能您错过了[
和]
字符
下次格式化JSON以更好地了解正在发生的事情。:)
关于你的职能 由于调试输出被破坏,您可能也错过了它:
foreach($json->student as $v)
{
return 'ID: '.$v->id.'Last: '.$v->lname.'First: '.$v->fname;
}
在第一次迭代之后返回
尝试:
不过,老实说,我希望名为getJSON()
的函数返回,嗯。。。JSON。不是作者写的字符串。您的类和函数总体上命名不好
也许您的函数应该如下所示:
public function getJSON()
{
$json = json_decode($this->xmlArray);
// some debug output for development
foreach ($json->student as $v) {
echo "ID: {$v->id} Last: {$v->lname} First: {$v->fname}\n";
}
return $json;
}
你们班的名字不好。你的问题标题也是。JSON输出有什么问题吗?我觉得很好。你应该解释你在寻找什么样的输出,以及它与你得到的不同之处。+1用于发布代码(虽然只是片段,而不是像连续的5行。但是,你忘了告诉我们确切的问题;)。您在哪一步中得到了什么输出?您希望得到什么?两个学生节点都在JSON输出中,它们位于对象的
student
键中的一个数组中。@user738910:我们知道您在做什么。Excel与此无关,只是把问题弄得一团糟。你的问题还可以。你应该阅读解释问题的答案。你的班级名字不好。你的问题标题也是。JSON输出有什么问题吗?我觉得很好。你应该解释你在寻找什么样的输出,以及它与你得到的不同之处。+1用于发布代码(虽然只是片段,而不是像连续的5行。但是,你忘了告诉我们确切的问题;)。您在哪一步中得到了什么输出?您希望得到什么?两个学生节点都在JSON输出中,它们位于对象的student
键中的一个数组中。@user738910:我们知道您在做什么。Excel与此无关,只是把问题弄得一团糟。你的问题还可以。你应该阅读答案,它解释了问题。谢谢,我现在知道发生了什么。我只是在看我帖子下面的评论,没能再往下看一看你们写的东西。我对你们所有人感到沮丧感到抱歉。对不起,谢谢!谢谢,我现在知道怎么回事了。我只是在看我帖子下面的评论,没能再往下看一看你们写的东西。我对你们所有人感到沮丧感到抱歉。对不起,谢谢!
$output = '';
foreach ($json->student as $v) {
$output .= "ID: {$v->id} Last: {$v->lname} First: {$v->fname}\n";
}
return $output;
public function getJSON()
{
$json = json_decode($this->xmlArray);
// some debug output for development
foreach ($json->student as $v) {
echo "ID: {$v->id} Last: {$v->lname} First: {$v->fname}\n";
}
return $json;
}