我在尝试使用PUT方法时遇到了一个问题,我正在使用PUT方法通过web服务更新我的表记录,问题是在尝试更新数据时,我遇到了以下错误:
informacioncom.android.volley.解析错误:org.json.JSONException:输入结束在字符0的
如果我检查数据库中的表,它不会输入null值,而是记录空格。
这是我用来更新数据的方法:
@Override
public void onClickUpdate(final int position, final String identificador) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = this.getLayoutInflater();
View MyView = inflater.inflate(R.layout.dialog_signin_updatedonante, null);
final EditText identidad = (EditText)MyView.findViewById(R.id.identificador_tarea);
final EditText nombre_tarea = (EditText)MyView.findViewById(R.id.nombre_tarea);
final EditText nota = (EditText)MyView.findViewById(R.id.nota_tarea);
final EditText estudiante = (EditText)MyView.findViewById(R.id.estudiante_tarea);
identidad.setEnabled(false);
identidad.setText(identificador);
String ntarea = nombre_tarea.getText().toString();
String not = nota.getText().toString();
String estudi = estudiante.getText().toString();
final JSONObject jsonObject = new JSONObject();
try{
jsonObject.put("nombreUsuario", ntarea)
.put("nota", not)
.put("estudiante", estudi);
}catch(JSONException e){
e.printStackTrace();
}
final RequestQueue queue = Volley.newRequestQueue(getActivity());
builder.setView(MyView)
.setPositiveButton("Registrar", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
if(nombre_tarea.getText().toString().equals("") || nota.getText().toString().equals("") || estudiante.getText().toString().equals("")){
Toast.makeText(getActivity(), "Porfavor llena todos los campos", Toast.LENGTH_LONG ).show();
}else{
String urlPut = "http://192.168.1.81:8080/WebServiceExamenFinal/webapi/tareas/";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.PUT, urlPut + identificador, jsonObject,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(getActivity(), "Se envió correctamente", Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), "Ocurrió un error al enviar la información"+error, Toast.LENGTH_LONG).show();
}
});
queue.add(request);
}
}
})
.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Toast.makeText(getActivity(),"No se actualizo ningun registro", Toast.LENGTH_SHORT).show();
alertDialog.dismiss();
}
});
alertDialog = builder.create();
alertDialog.show();
}
在将数据添加到jsonObject变量之前,它似乎已声明为final。最好的解决方案是将代码拆分为单独的函数,但目前您可以尝试以下方法:
JSONObject tempJson = new JSONObject();
try{
tempJson.put("nombreUsuario", ntarea)
.put("nota", not)
.put("estudiante", estudi);
} catch(JSONException e){
e.printStackTrace();
}
final JSONObject jsonObject = tempJson;
我正在编写一个Android应用程序,可以解析从PHP网页返回的JSON,并且在Logcat中不断得到“org.JSON.jsonException:在字符0处结束输入”。代码如下: 感谢任何帮助:)
问题内容: 解析JSON时出现错误。解析数据org.json.JSONException时出错:输入的第0个字符。 错误日志: 这是在UserFunction类中调用函数的代码: UserFunction类中的函数 Java解析器类: 这是我的index.php API index.php调用此orderdetails函数 新的JSON响应。尽管我必须要生产的产品不能显示阵列。为什么JSON标签显
问题内容: 我正在开发一个测试Android应用程序,该应用程序必须显示mysql数据库中的一些数据。这是我的日志: 这里是JSONParser.java类 在这里,我用来显示所选数据的类: 这里的PHP文件: 另外,这里主要活动: 我在互联网上阅读了有关此错误的各种线索,但它甚至是由差异问题引起的,我没有找到与我的情况类似的情况或解决了我问题的解决方案。 问题答案: 看起来您的PHP文件正在返回
问题内容: 我正在尝试从服务器获取JSON值。我不知道我的代码有什么问题。我正在使用,这是我的代码在 码: 这是logcat 这是 JSON 格式 问题答案: 您可能会得到一个空白的答复。它不为null,但 jsontext 为空。因此,您将收到此错误,而不是Nullpointer异常 您是否正在向服务器发送正确的参数。还要检查url是否响应POST请求。
问题内容: 我已经看到其他人遇到了这个问题,但是没有一个帖子能够帮助我。我正在尝试将Volley用于我的REST调用库,当我尝试将JSON对象作为参数使用Put调用时,我得到了。 这是代码: jsonParams日志显示: 我还有其他设置吗?看来请求无法解析JSON对象。我什至尝试创建一个HashMap,然后使用它创建一个JSON对象,但是我仍然得到相同的结果。 问题答案: 我也遇到了这个问题。
以下是所有的错误: 下面是我的代码: