gpt4 book ai didi

java - JSONObject 没有按应有的方式进行编码?

转载 作者:行者123 更新时间:2023-12-02 02:46:42 27 4
gpt4 key购买 nike

这是服务器端代码

<?php
require('connection.php');
require('functions.php');

$inputJSON = file_get_contents('php://input');
$aReuestData = json_decode( $inputJSON, TRUE ); //convert JSON into array

$user_email = $aReuestData['user_email'];
$user_password = $aReuestData['user_password'];
$user_uniq = $aReuestData['user_uniq_id'];

if((($user_password !='') && ($user_email !=''))|| ($user_uniq!=''))
{
$uname = $user_email;
$pword = $user_password;
$format ='json';
if(($user_password !='') && ($user_email !='')){
echo $checkUser = checkLogin($uname,$pword);
}
else{
$checkUser = checkLoginFacebook($user_uniq);
}
//print_r($checkUser);
if($checkUser['id'] > 0)
{
$result = $checkUser;
}else{
$result = "false";
}
}else{

$result = "Enter username and password";

}

$records = array("result"=> $result);

echo $_REQUEST['jsoncallback']. json_encode($records);

?>

我的登录 Activity 代码是

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.android.volley.Cache;
import com.android.volley.Network;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.BasicNetwork;
import com.android.volley.toolbox.DiskBasedCache;
import com.android.volley.toolbox.HurlStack;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class Login extends MainActivity {
//private Button button;
//private TextView welcome;
//private EditText username;
//private EditText password;
//private JSONObject jsonObject;
private RequestQueue requestQueue;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);

Cache cache = new DiskBasedCache(getCacheDir(),1024 * 1024);
Network network = new BasicNetwork(new HurlStack());
requestQueue= new RequestQueue(cache,network);
final TextView send = (TextView)findViewById(R.id.send);
final TextView hello = (TextView)findViewById(R.id.mess);
EditText username = (EditText)findViewById(R.id.edituser);
EditText password = (EditText)findViewById(R.id.editpass);
Button button = (Button)findViewById(R.id.signin);
final JSONObject jsonObject = new JSONObject();

try {
// jsonObject.put("Content-Type: ","application-json");
jsonObject.put("user_email",username.getText().toString().trim());
jsonObject.put("user_password",password.getText().toString().trim());
} catch (JSONException e) {
e.printStackTrace();
}
final HashMap<String,String> params = new HashMap<String, String>();
params.put("user_email",username.getText().toString().trim());
params.put("user_password",password.getText().toString().trim());
String json = "{\"user_email\":\"ankur@gmail.com\",\"user_password\":\"123456\"} ";
JSONObject json1 = new JSONObject();
try {
json1 = new JSONObject(json);
} catch (JSONException e) {
e.printStackTrace();
}

requestQueue.start();
final String url = "http://demo4u.org/leaveapp/ws/login.php";
send.setText(json1.toString());
final JSONObject finalJson = json1;
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(ApiMethods.login, finalJson,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(Login.this,"Passed",Toast.LENGTH_LONG).show();
hello.setText(response.toString());
Toast.makeText(Login.this,jsonObject.toString(),Toast.LENGTH_LONG).show();

}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(Login.this,"Error",Toast.LENGTH_LONG).show();
}
}

){
@Override
public Map<String,String> getHeaders(){
HashMap<String,String> headers = new HashMap<>();
headers.put("Accept", "application/json");
headers.put("Content-Type","application/json");
return headers;

}

};
requestQueue.add(jsonObjectRequest);
}
});





}



}

我得到的唯一返回是

$result = "Enter username and password";

我做错了什么?我要包含 JSON header 还是其他东西???

请在详细 View 中回复,因为我是 android 新手......

输入的是

{"user_email":"ankur@gmail.com","user_password":"123456"}

服务器响应将是

Array{"result":{"id":"1","name":"ankur","email":"ankur@gmail.com","address":"b-block","designation":"devloper","department":"development","balanceleave":"5"}}

登录 php 服务器是:http://demo4u.org/leaveapp/ws/login.php

最佳答案

尝试通过覆盖 JsonObjectRequest 中的 getHeaders() 方法来设置 header

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(...your arguments here) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headerParameters = new HashMap<>();
headerParameters.put("Accept", "application/json");
headerParameters.put("Content-Type", "application/json");
return headerParameters;
}
};

关于java - JSONObject 没有按应有的方式进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469939/

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