gpt4 book ai didi

android - 如何解析来自服务器的android中的多个Json数据

转载 作者:行者123 更新时间:2023-11-29 18:03:14 25 4
gpt4 key购买 nike

*我有疑问,是否可以在 android 中解析来自服务器的多个 json 响应?现在我正在开发一个将 android 应用程序与 cakephp 网站连接起来的项目。我从服务器接收数据作为 json 编码格式。并在 android 中解析该 json 数据并显示到 View 部分。但现在我想从服务器传递多个 json 响应,这怎么可能???*

 function commuterJson()
{
$upid=$_POST['upid'];
$ampm=$_POST['ampm'];
$this->loadModel('Userprofile');
$this->Userprofile->recursive = -1;
$ups = $this->Userprofile->find('first', array('conditions' =>
array('id' => $upid, 'status' => 'active')));
$todaysdata = $this->Requestcard->getRequestcardDataampm($upid, $ampm, $today);

$driverId=$todaysdata[0]['Requestcard']['driver_id'];
$vacencyId=$todaysdata[0]['Requestcard']['vacancycard_id'];
$driverDetails = $this->Userprofile->find('first', array('conditions' =>
array('id' => $driverId, 'status' => 'active')));
$vacancyDetails = $this->Vacancycard->find('first',
array('conditions' => array('id' =>$vacencyId )));
$vechicleId=$vacancyDetails['Vacancycard']['vehicledetail_id'];
$vechicleDetails=$this->Vehicledetail->find('first',
array('conditions' => array('id' => $vechicleId)));

echo json_encode($driverDetails);
echo json_encode($vechicleDetails);
echo json_encode($todaysdata);
exit();

}

我想把这三个jso编码的数据传给android

    echo json_encode($driverDetails);
echo json_encode($vechicleDetails);
echo json_encode($todaysdata);

当我尝试只将一个 json 数据传递给 android 时,它得到了正确的结果我的安卓代码是

              public void getData(View v)
{
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
HttpResponse response;

try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost =
new HttpPost("http://10.0.2.2/Mebuddie/logins/login1");

httppost.setEntity
(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
response = httpclient.execute(httppost);
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader
(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
for (String line = null; (line = reader.readLine()) != null;)
{
builder.append(line).append("\n");
}
JSONTokener tokener = new JSONTokener(builder.toString());
JSONArray finalResult = new JSONArray(tokener);
Object type = new Object();
if (finalResult.length() == 0 && type.equals("both"))
{
System.out.println("null value in the json array");

}
else {
JSONObject json_data = new JSONObject();
for (int i = 0; i < finalResult.length(); i++)
{
json_data = finalResult.getJSONObject(i);
JSONObject menuObject = json_data.getJSONObject("Userprofile");

group_id= menuObject.getString("group_id");
id = menuObject.getString("id");


}
catch (Exception e) {
Toast.makeText(FirstMain.this,
"please enter a valid id or pswd",Toast.LENGTH_LONG).show();
e.printStackTrace();
}

}

我需要在我的 android 代码中添加什么来接收多个 json 数据???如果有人知道请回复....................

最佳答案

public void getData(View v)
{
// TODO Auto-generated method stub
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://yourpagename");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection"+e.toString());
}
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result"+e.toString());
}
return null;
}
protected void onPostExecute(Void v) {
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++)
{
JSONObject json_data = jArray.getJSONObject(i);
String id=json_data.getString("id");
String name=json_data.getString("name");
}
}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
}

而在 php 端,你在 json 中编码 3 个不同的数组。将它们放在一个数组中,然后对单个数组进行编码

关于android - 如何解析来自服务器的android中的多个Json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14750279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com