[这里的字符串无法转换]和1 [编辑:这是我的错误的logcat] 2我正在尝试为我的应用实施登录,有登录,登录请求,注册和注册请求活动。在我的注册活动中,我将用户数据发送回我的数据库,但是当我尝试在我的设备上执行此操作时,我在Android监视器中收到错误
" org.json.JSONException:值
我使用MySQL和000Webhost作为我的数据库和托管。下面是我认为可能与错误有关的代码,但我不太确定。如果有人可以在这里提供帮助,我将非常感激。
touristRegisterBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String touristName = touristNameRegET.getText().toString();
final String touristEmail = touristEmailRegET.getText().toString();
final String touristPassword = touristPasswordRegET.getText().toString();
Response.Listener<String> responseListener = new Response.Listener<String>(){
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if(success){
Intent intent = new Intent(touristRegister.this, touristLogin.class);
touristRegister.this.startActivity(intent);
}else{
AlertDialog.Builder builder = new AlertDialog.Builder(touristRegister.this);
builder.setMessage("Registration failed!")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}`
答案 0 :(得分:0)
您的logcat说<br><table of type java.lang.String cannot be converted to JSONObject
这基本上意味着您尝试解析为JSON字符串的字符串不是JSON字符串。从它的外观来看,它是一个HTML文档。
基本上response
变量无效转换。您要么指向错误的URL,要么服务器返回错误的数据。如果你不确定JSON字符串应该是什么样子,这是一个例子
{
"username": "myusername",
"token": "JD297H48FUO2J048JF729F2",
"wadus": [1, 2, 3, 4],
"timestamp": 123144535143,
"success": true
}