【问题标题】:Android json web servicesAndroid json 网络服务
【发布时间】:2015-06-06 15:32:08
【问题描述】:

我正在开发我想要从我的 Android 应用程序连接到 Oracle 数据库的 Web 服务,所以我的服务器在连接到数据库的 java 中......并且连接完成!我坚持的是,当我在我的 Android 应用程序中检索数据时,我从数据库获取数据并在服务器端转换为 json,我得到空指针异常。

在服务器端创建我的 json 的功能:

public static String constructJSN(String tag, boolean status,ArrayList<Teacher> f) {

JSONObject obj = new JSONObject();
try {
    for(int i=0;i<f.size();i++){
    obj.put("tag", tag);
    obj.put("status", new Boolean(status));
    String json = new Gson().toJson(f);
    obj.put("data",json);
    }


} catch (JSONException e) {
    // TODO Auto-generated catch block
}
return obj.toString(); 
}

当我打印它时,我得到:

{"tag":"login","status":true,"data":"[{\"name\":\"rasha\",\"classes\":\"b\",\"freetime\":\"3-4\"},{\"name\":\"heba\",\"classes\":\"a\",\"freetime\":\"3-4\"},{\"name\":\"omnia\",\"classes\":\"c\",\"freetime\":\"2-6\"}]"}

在安卓客户端:

                   String j= obj.get("data").toString();
                  JSONObject myJsonObj = new JSONObject(j);
                  String Name = myJsonObj.getString("name");
                    String Classes = myJsonObj.getString("classes");
                    Toast.makeText(getApplicationContext(), Name+ " " + Classes, Toast.LENGTH_LONG).show();

在调试时出现错误:

方法抛出 java.lang.NullPointerException 异常。不能 评估 org.json.JSONObject.toString()

【问题讨论】:

  • 您必须先将数据作为 jsonArray 获取,然后才能将名称作为 json 对象获取
  • String j= obj.get("data").toString();我把它作为一个字符串取出来作为 JSONObject 的参数!!
  • 为什么有\是你的json字符串
  • dont no :D 我使用 google gson 将我的 arraylist 转换为 json,这就是结果
  • 发布您的 logcat 堆栈跟踪

标签: java android json web-services


【解决方案1】:
JSONObject myJsonObj = new JSONObject(j);
JsonArray data = myJsonObj.getJsonArray("data");
for (JSONObject jObjc: JsonArray) { 
 String Classes = jObjc.getString("classes");
}

【讨论】:

    【解决方案2】:

    试试下面的:

    声明一个静态JsonObject并将其赋值为null 静态 JSONObject jObj = null;

    然后在您的 Web 服务调用中,将其分配给 JSON 响应,如下所示 jObj = new JSONObject(结果);

    jObj.getString("数据");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      相关资源
      最近更新 更多