0

我有一个这样的 JSONstring,并从 JSONstring 中获取每个字符串 ...

运行时出现此错误错误转换结果 java.lang.NullPointerException

我应该怎么办???

{"login":"1","error":"","id":"1","namespace":"dhruv","first_name":"Dhruv","last_name":"Patel","pro_pic_64_url":"URL","pro_pic_100_url":"URL","pro_pic_200_url":"URL"}

以及我解析这些数据的代码

JSONObject json = new JSONObject(data);
    String login = json.getString("login");
    TextView welcome =(TextView)findViewById(R.id.textView1);
    welcome.setText(login);
    if(login=="1")
    {
        String namespace = json.getString("namespace");
        String id = json.getString("id");
        String first_name = json.getString("first_name");
        String last_name = json.getString("last_name");
        String pro_pic_64_url = json.getString("pro_pic_64_url");
        String pro_pic_100_url = json.getString("pro_pic_100_url");
        String pro_pic_200_url = json.getString("pro_pic_200_url");
        
    }
4

4 回答 4

0

检查您的data字符串(或者它是一个地图?)是否不为空并且确实包含 JSON 字符串。然后检查您是否findViewById返回正确的 TextView 或 null。

于 2013-06-20T08:04:47.547 回答
0

由于login == "1"几乎可以肯定是假的(应该使用equals),很可能welcome是假的,fiendViewById 的结果。

于 2013-06-20T07:50:27.357 回答
0

使用 String equals()方法进行比较,使用 this

  if("1".equals(login))

代替

  if(login=="1")
于 2013-06-20T07:53:43.307 回答
0

根据您的代码,我只能认为“欢迎”对象为空。如果您实际上是在传递您提供的响应,则“json”对象不能为空。虽然 login == "1" 是错误的,但不会抛出 NullPointerException。所以唯一可能的是“欢迎”对象为空,或者异常可能出现在您未在此处粘贴的代码片段中。

于 2013-06-20T08:10:02.693 回答