您好在下面如何根据来自server.how的json响应获取组名,以便在listview中显示。 新是第一位置 集团是第二个职位
响应
{"groupname":"New"}{"groupname":"Group"}
的java
String groupdetails = imService.DispalyGroupDetails(imService.getUsername());
try {
JSONArray JA = new JSONArray(groupdetails);
String[] groupname = new String[JA.length()];
for(int i=0;i<JA.length();i++)
{
groupname[i] = JA.getJSONObject(i).getString("groupname");
}
} catch (Exception e) {
e.printStackTrace();
}
这是php代码在这里我得到像这样的输出
更新
case "DispalyGroupDetails":
$userId = authenticateUser($db, $username, $password);
if ($userId != NULL)
{
if (isset($_REQUEST['username']))
{
$username = $_REQUEST['username'];
$sql = "select Id from users where username='$username' limit 1";
if ($result = $db->query($sql))
{
if ($row = $db->fetchObject($result))
{
$sql = "SELECT g.groupname
FROM `users` u, `friends` f, `group` g
WHERE u.Id=f.providerId and f.providerId=g.providerId
GROUP BY g.id, g.groupname";
$theResult = $db->query($sql);
if ($theResult) {
while( $theRow = $db->fetchObject($theResult))
{
$json_output[]=$theRow;
print(json_encode($json_output));
}
//$out = SUCCESSFUL;
} else {
//$out = FAILED;
}
}
else
{
//$out = FAILED;
}
}
else
{
//$out = FAILED;
}
}
else
{
//$out = FAILED;
}
}
else
{
//$out = FAILED;
}
break;
答案 0 :(得分:0)
{"groupname":"New"}{"groupname":"Group"}
首先,您的响应不是正确的JSON格式。响应既不是JSONArray也不是JSONObject。所以首先找到一个解决方案,以便在服务器端以适当的JSON格式获得响应。
可能的选项:而不是使用JSON解析它尝试对从服务器收到的响应执行字符串操作。