如何在给出不同类型的响应时解析json

时间:2017-03-18 06:11:42

标签: php android json

我在Android中解析来自JSON的数据,但JSON响应表现得很奇怪。

如果它包含多个数据,则响应就像这样

{"e":"701",
    "data":[{"id":"121"},
        {"id":"122"}
    ]
}

如果它只包含一个数据,则响应就像这样

{"e":"701",
    "data":{"1":{"id":"93"}}
}

发送JSON响应的代码是

$r1=mysql_query($sql1,$con);
$count1=mysql_num_rows($r1);
if($count1>0)
{
    while ($row1 = mysql_fetch_assoc($r1)) {
        $data1[$i] = $row1 ;
    }
}    
$c = new Emp();
$c->e = "801";
$c->data =$data1;
echo json_encode($c);

如何在一段时间内解析这个问题?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如何在while循环中添加它($ e将是一个变量,在上面的情况下包含801)

$info = array('e' => $e,
'data' => $data1
);
$rows[] = $info;

然后从while循环中取出json作为一个数组,如果我得到正确的答案,它将为你提供所需的结果。

echo str_replace("\\","",  json_encode($rows));