我正在开发Android应用。有一个活动从远程PHP文件中检索JSON数据。
这是收到的回复:
[{"result":{"cel_verificado":"888"}}]
这是我需要检索cel_certificado的值的函数:
我正在获取以下日志详细信息:
D/MainActivity: ID RESPUESTA CEL en SHOWJSONCELL = [{"result":{"cel_verificado":"888"}}]
private void showJSONCel(String response){
Log.d(TAG,"ID RESPUESTA CEL en SHOWJSONCELL = "+response);
try {
JSONObject jObj = new JSONObject(response);
JSONObject user = jObj.getJSONObject("result");
String recibido = user.getString("cel_verificado");
cel_verificado_valor= recibido;
Log.d(TAG, "ESTOY EN MAIN GET DATA SHOWJSONcel TRY"+cel_verificado_valor);
} catch (JSONException e) {
Log.d(TAG, "ESTOY EN MAIN GET DATA SHOW JSON CELL error");
e.printStackTrace();
}
}
我做错了什么?它引发了异常。
谢谢
答案 0 :(得分:1)
查看您发布的服务器的响应,您会收到JSONArray,而不是JSONObject。所以你需要解析它并从中获取第一个元素:
try {
JSONArray jArr = new JSONArray(response);
JSONObject jObj = jArr.getJSONObject(0);
JSONObject user = jObj.getJSONObject("result");
// ..
}
答案 1 :(得分:1)
这是一个JSONArray
[{"result":{"cel_verificado":"888"}}
你必须得到第一个对象JSONObject(0),然后使用字符串“result”,它将再次给你一个JSON对象
编辑:发布完整的json数组,如果这只是介于两者之间的片段。