如何解析json,当它给出不同类型的响应

问题描述:

我解析来自Android的JSON数据,但JSON响应行为奇怪。如何解析json,当它给出不同类型的响应

如果它包含一个以上的数据的反应是这样的

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

如果它只包含一个数据的反应就是这样发送JSON响应这个

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

的代码是

$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); 

如何在一个拉伸解析呢?任何帮助,将不胜感激。

+0

什么你试过到目前为止? –

+0

发布一些发送JSON响应的代码将有助于回答您的问题 – Vylix

+0

@AdiNugroho我添加了发送JSON响应的代码 – destroyer

你怎么样在while循环中添加这个($é将其在上述情况下包含801变量)

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

,然后跳出while循环,你把它拿出来使用JSON作为数组,它会给你你需要的结果,如果我得到正确的问题。

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