基本上这里我使用url连接来连接到php,一切都是工作在登录和注册阶段找到,现在我想获取我在php文件中创建的json对象,然后显示它在字符串视图中,所以任何人都有这个想法?将json对象转换为字符串并显示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display);
dataField = (TextView) findViewById(R.id.data);
btnDis = (Button) findViewById(R.id.btnClick);
btnDis.setOnClickListener (new View.OnClickListener(){
@Override
public void onClick(View v){
strUrl ="http://10.0.2.2/android/display.php";
new jsonParse().execute();
}
});
}
public class jsonParse extends AsyncTask<String, String, String>{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(String s) {
Toast.makeText(EditActivity.this,""+result,Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(String... params) {
try{
URL url = new URL (strUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.connect();
//get response from server
BufferedReader bf = new BufferedReader(new InputStreamReader(con.getInputStream()));
String value = bf.readLine();
System.out.println("result is"+value);
result = value;
String finalJson = bf.toString();
JSONObject parentObject = new JSONObject(finalJson);
JSONArray parentArray = parentObject.getJSONArray("data");
JSONObject finalObject= parentArray.getJSONObject(0);
String username = finalObject.getString("NAME");
String age = finalObject.getString("AGE");
String result = username +" - "+age;
return result;
}
catch(Exception e){
System.out.println(e);
}
return null;
}
}
}
这里被称为我的PHP文件Display.php的
<?php
require "conn.php";
require_once "global.php";
//get record from databases
$query = "SELECT * FROM user";
if($result = mysqli_query($conn, $query)){
// printf("%d", mysqli_num_rows($result));
if(mysqli_num_rows($result) > 0){
$status = 'true';
$message = 'data retrieved successfully';
while($row = mysqli_fetch_assoc($result)){
$name = $row['name'];
$age = $row['age'];
$username = $row['username'];
// echo $name."\n\n";
// echo $age."\n\n";
// echo $username."\n\n";
$data .= '{"NAME" : "'.$name.'", "AGE" : "'.$age.'", "USERNAME" : "'.$username.'"},';
}
}else{
$status = 'false';
$message = 'data retrieved failed';
$data = '';
}
mysqli_free_result($result);
mysqli_close($conn);
}else{
$message = mysqli_error($conn);
}
$output = '{"status": "'.$status.'","message":"'.$message.'", "data": ['.rtrim($data, ',').']}';
echo $output;
?>
创建一个POJO类,像这样
,然后检索数据你想从finalObject提取值? –
@PardeepDogra即时通讯不知道这是否是一个好方法,我只是尝试任何可能的方法,因为我不知道,你的意见如何? –
如果你想打印日志猫然后只需添加jsonObject.toString();在日志 – CrazyMind