Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSON中的“意外标记o”_Java_Android - Fatal编程技术网

Java JSON中的“意外标记o”

Java JSON中的“意外标记o”,java,android,Java,Android,我有一个android应用程序,我试图将数据从editText发送到服务器。我正在尝试将数据打包到JSON: editTextLogin = (EditText) findViewById(R.id.editTextLogin); editTextPass = (EditText) findViewById(R.id.editTextPass); JSONObject logPass = new JSONObject(); try { logPass.put("login", editT

我有一个android应用程序,我试图将数据从editText发送到服务器。我正在尝试将数据打包到JSON:

editTextLogin = (EditText) findViewById(R.id.editTextLogin);
editTextPass = (EditText) findViewById(R.id.editTextPass);
JSONObject logPass = new JSONObject();
try {
    logPass.put("login", editTextLogin.getText().toString());
    logPass.put("pass", editTextPass.getText().toString());
} catch (JSONException e) {
    e.printStackTrace();
}
mSocket.emit("logPass", logPass);
之后,我在服务器上收到这些数据,并尝试将其解析为JS对象:

socket.on('logPass', function(dataJSON) {
    console.log(dataJSON.admin);
    data = JSON.parse(dataJSON);
});
我可以打印dataJSON,它是:login:'admin',pass:'1234',但当我试图解析它时,我出现了错误: 意外标记o

这是什么?如何解决

import org.json.simple.JSONObject;

class JsonDemo {

   public static void main(String[] args){
      JSONObject obj = new JSONObject();

      obj.put("login", "admin");
      obj.put("pass", "admin123");

      System.out.print(obj);
   }
}

输出

{"login": "admin", "pass":"admin123"}
错误问题

mSocket.emit("logPass", logPass.toString());

我已经试过了,这是有效的。

你的意思是:{login:admin,pass:1234}?我打赌你传递的字符串可能是重复的[object object]@Shaishav no,login:'admin'@JaromandaX Ok,以及如何解决它?Ok,但如何对editText.getText执行相同的操作?我也尝试像你一样简单地打印值,而且效果很好,但我需要把价值从editText@levshkatov使用\对字符串表示msocket.emitlogPass、logPass.toString的值进行转义;试试这个,也许吧work@Shaishav什么意思?我使用简单的管理1234,它没有\
mSocket.emit("logPass", logPass.toString());