错误。org.json.JSONException:类型java.lang.String的值<br不能转换为JSONObject

何塞·爱德华多

我试图从一个android活动连接注册一个页面到数据到我的sqldatabase,我收到此错误“ org.json.JSONException:值

我知道我在SO上看到了所有类似的问题。我已经花了7个小时才能解决这个错误。我尝试了几乎所有内容,在网络上进行了很多搜索,但无法获得针对此错误的解决方案:

Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 

**** JSONParser.java ****

public class JSONParser {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

static InputStream is = null;
static JSONObject jObj = null;
static String json = "";

// constructor
public JSONParser() {
    StrictMode.setThreadPolicy(policy); 
}

public JSONObject makeHttpRequest(String url, String method,
        List<NameValuePair> params) {

    try {

        // check for request method
        if(method.equals("POST")){


            Log.d("my", "method equals POST is working");
            DefaultHttpClient httpClient = new DefaultHttpClient();

            Log.d("my", "HTTp client is working");
            HttpPost httpPost = new HttpPost(url);
            Log.d("my", "HTTp post is working");

            httpPost.setEntity(new UrlEncodedFormEntity(params));

            Log.d("my", "url encoded");

            HttpResponse httpResponse = httpClient.execute(httpPost);

            Log.d("my", "HTTp response is working");
            HttpEntity httpEntity = httpResponse.getEntity();

            Log.d("my", "HTTp entity is working");

            is = httpEntity.getContent();
            Log.d("my", "getcontent is working");


        }else if(method.equals("GET")){
            // request method is GET
            DefaultHttpClient httpClient = new DefaultHttpClient();
            String paramString = URLEncodedUtils.format(params, "utf-8");
            url += "?" + paramString;
            HttpGet httpGet = new HttpGet(url);

            HttpResponse httpResponse = httpClient.execute(httpGet);
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();
        }           

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);

        Log.d("my", "buffer reader crated");
        StringBuffer sb = new StringBuffer();


        Log.d("my", "string buffer object crated");
        String line = null;
        while ((line = reader.readLine())!= null) {
            sb.append(line + "\n");

            Log.d("my", "line appended");
        }
        is.close();
        Log.d("my", "inputstram closed");

        json = sb.toString();
        Log.d("my", "string buffer to string conversion");
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }

    // try parse the string to a JSON object
    try {


        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }

    // return JSON String
    return jObj;

}

}

TAP_Cliente_nuevo.java

enter code here公共类Tap_Cliente_Nuevo扩展了活动{

JSONParser parseadorJson = new  JSONParser();
Button btn;
EditText RFC;
EditText Nombre;
EditText ApellidoP;
EditText ApellidoM;
EditText Telefono;
EditText Calle;
EditText Numero;
EditText Colonia;
EditText Municipio;
EditText Estado;
EditText CP;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tap__cliente__nuevo);
    RFC = (EditText)findViewById(R.id.txtRFCCliente);
    Nombre = (EditText)findViewById(R.id.txtNombreCliente);
    ApellidoP = (EditText)findViewById(R.id.txtApellidoPCliente);
    ApellidoM = (EditText)findViewById(R.id.txtApellidoMCliente);
    Telefono = (EditText)findViewById(R.id.txtTelefonoCliente);
    Calle = (EditText)findViewById(R.id.txtCalleCliente);
    Numero = (EditText)findViewById(R.id.txtNumeroCliente);
    Colonia = (EditText)findViewById(R.id.txtColoniaCliente);
    Municipio = (EditText)findViewById(R.id.txtMunicipioCliente);
    Estado = (EditText)findViewById(R.id.txtEstadoCliente);
    CP = (EditText)findViewById(R.id.txtCPCliente);

    btn = (Button)findViewById(R.id.btnRegistrarCliente);       
    btn.setOnClickListener(new OnClickListener() {          
        @Override
        public void onClick(View v) {

            if(RFC.getText().length()==0 ||
                    Nombre.getText().length()==0 ||
                    ApellidoP.getText().length()==0 ||
                    ApellidoM.getText().length()==0 ||
                    Telefono.getText().length()==0 ||
                    Calle.getText().length()==0 ||
                    Numero.getText().length()==0 ||
                    Colonia.getText().length()==0 ||
                    Municipio.getText().length()==0 ||
                    Estado.getText().length()==0 ||
                    CP.getText().length()==0){                  
                Toast.makeText(getApplicationContext(), "Por favor llena los campos obligatorios", Toast.LENGTH_SHORT).show();
        }else{
            List<NameValuePair> parametros = new ArrayList<NameValuePair>();
            parametros.add(new BasicNameValuePair("inRFC", RFC.getText().toString()));
            parametros.add(new BasicNameValuePair("inNombre", Nombre.getText().toString()));
            parametros.add(new BasicNameValuePair("inApPat", ApellidoP.getText().toString()));
            parametros.add(new BasicNameValuePair("inApMat", ApellidoM.getText().toString()));
            parametros.add(new BasicNameValuePair("inTel", Telefono.getText().toString()));
            parametros.add(new BasicNameValuePair("inCalle", Calle.getText().toString()));
            parametros.add(new BasicNameValuePair("inNum", Numero.getText().toString()));
            parametros.add(new BasicNameValuePair("inCol", Colonia.getText().toString()));
            parametros.add(new BasicNameValuePair("inMuni", Municipio.getText().toString()));
            parametros.add(new BasicNameValuePair("inEsta", Estado.getText().toString()));
            parametros.add(new BasicNameValuePair("inCP", CP.getText().toString()));


          Log.e("Registro", obtenIpServidor());

          parseadorJson.makeHttpRequest("http://192.168.1.72/tractofer/alta_clientes.php", "POST", parametros);
          Toast.makeText(getApplicationContext(), "Datos Insertados correctamente", Toast.LENGTH_SHORT).show();
            RFC.setText("");
            Nombre.setText("");
            ApellidoP.setText("");
            ApellidoM.setText("");
            Telefono.setText("");
            Calle.setText("");
            Numero.setText("");
            Colonia.setText("");
            Municipio.setText("");
            Estado.setText("");
            CP.setText("");
        }

        }
    });
}
public String obtenIpServidor()
{
    String ip=null;

    SharedPreferences pref = getSharedPreferences("com.example.tractopartesycamiones_preferences",MODE_PRIVATE);
    Log.e("Registro",  "tipo_conexion: " + pref.getString("tipo_conexion", "1"));

    if (pref.getString("tipo_conexion", "1").equals( "1"))
        ip="192.168.1.72";
    else
        ip = pref.getString("ip_servidor", "0.0.0.0");


    return ip;
}

}

alta_cliente.php

<?php
//Constantes

$db_usuario = "root";
$db_pass    = "";
$db_host    = "localhost";
$db_schema  = "tractofer";

//Conexion con la base de datos
$enlace = mysql_connect($db_host, $db_usuario, $db_pass)
    or die (' No se conecto al servidor');

mysql_select_db($db_schema,$enlace)
    or die('Error al seleccionar la base de datos');

$respuesta = array();
    $RFC = $_POST['inRFC'];
    $Nombre = $_POST['inNombre'];
    $ApPat = $_POST['inApPat'];
    $ApMat = $_POST['inApMat'];
    $Tel = $_POST['inTel'];
    $Calle = $_POST['inCalle'];
    $Num = $_POST['inNum'];
    $Col = $_POST['inCol'];
    $Muni = $_POST['inMuni'];
    $Esta = $_POST['inEsta'];
    $CP = $_POST['inCP'];

$db_query =
  "INSERT INTO cliente VALUES('$RFC', '$Nombre', '$ApPat', '$ApMat', '$Tel', '$Calle', '$Num', '$Col', '$Muni', '$Esta', '$CP')";
//Ejecutamos el Query
$resultado = mysql_query($db_query,$enlace)
    or die('Error en el query: ' .$db_query);

if($resultado)
{
$respuesta["success"]=1;
$respuesta["message"]="Usuario agregado";
    echo json_encode($respuesta);
}   
else
{ echo 'Error en el json'; }
//desconexion de la base de datos
@mysql_close($enlace);
?>
苏米特·辛格(Sumit Singh)

PHP文件中,您使用的是echo语句,该语句也作为响应输出。因此您的jsonString包含html标记和/或行,因此无法解析。

或者在您的json字符串中的某个地方,它包含一个<br />标记,因此无法对其进行解析。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析数据org.json.JSONException时出错:值<br> <类型为java.lang.String的表不能转换为JSONObject

来自分类Dev

解析数据org.json.JSONException时出错:java.lang.String类型的值<br不能转换为JSONArray

来自分类Dev

org.json.JSONException:无法将 java.lang.String 类型的值数据转换为 JSONObject

来自分类Dev

获取类型为java.lang.String的Org.json.JSONException:Value array(2)不能转换为JSONObject

来自分类Dev

JSONException:类型java.lang.String的值<br不能转换为JSONObject

来自分类Dev

org.json.JSONException:java.lang.String类型的Value <无法转换为JSONObject

来自分类Dev

org.json.JSONException: 类型 java.lang.String 的值无法在 Android Studio 中使用 phpserver 转换为 JSONObject

来自分类Dev

错误:com.android.volley.ParseError:org.json.JSONException:值<!DOCTYPE类型的java.lang.String无法转换为JSONObject

来自分类Dev

org.json.JSONException:类型为java.lang.String成功时的值0不能转换为JSONArray

来自分类Dev

错误org.json.JSONException:类型为java.lang.Integer的错误的值1无法转换为布尔值

来自分类Dev

错误org.json.JSONException:错误类型为java.lang.Integer的值1无法转换为布尔值

来自分类Dev

java.lang.ClassCastException:java.lang.String中不能转换为org.json.JSONObject

来自分类Dev

W/System.err: org.json.JSONException: 类型 java.lang.String 的值可能无法转换为 JSONArray

来自分类Dev

org.json.JSONException:将jsonstring转换为对象时,反馈类型java.lang.String的值无法转换为JSONArray

来自分类Dev

JSONException:无法将类型为java.lang.String的值转换为JSONObject

来自分类Dev

org.json.JSONException:org.json.JSONArray类型的值[....]无法转换为JSONObject

来自分类Dev

org.json.JSONException:无法将 org.json.JSONArray 类型的值 [{}] 转换为 JSONObject

来自分类Dev

无法在Android上将类型<java.lang.String类型的值<br转换为JSONObject

来自分类Dev

org.json.JSONException中的错误:org.json.JSONArray类型无法转换为JSONObject

来自分类Dev

java.lang.String无法转换为org.json.simple.JSONObject simple-json

来自分类Dev

如何解决错误:java.lang.String类型的值UPDATE无法转换为JSONObject

来自分类Dev

JSONException:值'cityId':4,cityName:'Ahmedabad'java.lang.String无法转换为JSONObject

来自分类Dev

无法将类型为java.lang.String的值[string] <br> [string] <br>转换为JSONArray

来自分类Dev

java.lang.String不能转换为JSONObject。不匹配类型

来自分类Dev

Android JsonObject 错误 org.json.JSONException:无值

来自分类Dev

错误:类型 org.json.JSONArray 无法转换为 JSONObject

来自分类Dev

org.json.JSONException:无法将类型为org.json.JSONObject的idddss的值{“ storeid0”:[“ 1535”],“ storeid1”:[“ 1862”]}转换为JSONArray

来自分类Dev

org.jsonobject类型的org.jsonexception值无法转换为jsonarray

来自分类Dev

无法将类型为org.json.JSONObject $ 1的值null转换为JSONObject

Related 相关文章

  1. 1

    解析数据org.json.JSONException时出错:值<br> <类型为java.lang.String的表不能转换为JSONObject

  2. 2

    解析数据org.json.JSONException时出错:java.lang.String类型的值<br不能转换为JSONArray

  3. 3

    org.json.JSONException:无法将 java.lang.String 类型的值数据转换为 JSONObject

  4. 4

    获取类型为java.lang.String的Org.json.JSONException:Value array(2)不能转换为JSONObject

  5. 5

    JSONException:类型java.lang.String的值<br不能转换为JSONObject

  6. 6

    org.json.JSONException:java.lang.String类型的Value <无法转换为JSONObject

  7. 7

    org.json.JSONException: 类型 java.lang.String 的值无法在 Android Studio 中使用 phpserver 转换为 JSONObject

  8. 8

    错误:com.android.volley.ParseError:org.json.JSONException:值<!DOCTYPE类型的java.lang.String无法转换为JSONObject

  9. 9

    org.json.JSONException:类型为java.lang.String成功时的值0不能转换为JSONArray

  10. 10

    错误org.json.JSONException:类型为java.lang.Integer的错误的值1无法转换为布尔值

  11. 11

    错误org.json.JSONException:错误类型为java.lang.Integer的值1无法转换为布尔值

  12. 12

    java.lang.ClassCastException:java.lang.String中不能转换为org.json.JSONObject

  13. 13

    W/System.err: org.json.JSONException: 类型 java.lang.String 的值可能无法转换为 JSONArray

  14. 14

    org.json.JSONException:将jsonstring转换为对象时,反馈类型java.lang.String的值无法转换为JSONArray

  15. 15

    JSONException:无法将类型为java.lang.String的值转换为JSONObject

  16. 16

    org.json.JSONException:org.json.JSONArray类型的值[....]无法转换为JSONObject

  17. 17

    org.json.JSONException:无法将 org.json.JSONArray 类型的值 [{}] 转换为 JSONObject

  18. 18

    无法在Android上将类型<java.lang.String类型的值<br转换为JSONObject

  19. 19

    org.json.JSONException中的错误:org.json.JSONArray类型无法转换为JSONObject

  20. 20

    java.lang.String无法转换为org.json.simple.JSONObject simple-json

  21. 21

    如何解决错误:java.lang.String类型的值UPDATE无法转换为JSONObject

  22. 22

    JSONException:值'cityId':4,cityName:'Ahmedabad'java.lang.String无法转换为JSONObject

  23. 23

    无法将类型为java.lang.String的值[string] <br> [string] <br>转换为JSONArray

  24. 24

    java.lang.String不能转换为JSONObject。不匹配类型

  25. 25

    Android JsonObject 错误 org.json.JSONException:无值

  26. 26

    错误:类型 org.json.JSONArray 无法转换为 JSONObject

  27. 27

    org.json.JSONException:无法将类型为org.json.JSONObject的idddss的值{“ storeid0”:[“ 1535”],“ storeid1”:[“ 1862”]}转换为JSONArray

  28. 28

    org.jsonobject类型的org.jsonexception值无法转换为jsonarray

  29. 29

    无法将类型为org.json.JSONObject $ 1的值null转换为JSONObject

热门标签

归档