0

このような JSONstring が 1 つあり、JSONstring から各文字列を取得します...

実行中にエラーが発生しますError conversion result 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

login == "1"ほぼ間違いなく false (を使用する必要があります) であるため、fiendViewById の結果はequalsおそらくfalse です。welcome

于 2013-06-20T07:50:27.357 に答える
0

あなたのコードに基づいて、私は「ようこそ」オブジェクトがnullであるとしか考えられません。提供した応答を実際に渡す場合、「json」オブジェクトを null にすることはできません。login == "1" は間違っていますが、NullPointerException はスローされません。したがって、「ようこそ」オブジェクトがnullであるか、ここに貼り付けていないコードスニペットに例外がある可能性があります。

于 2013-06-20T08:10:02.693 に答える
0

比較にはString equals()メソッドを使用します。これを使用します。

  if("1".equals(login))

それ以外の

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

data文字列 (またはマップですか?) が null ではなく、実際に JSON 文字列が含まれているかどうかを確認します。次にfindViewById、適切な TextView または null を返すかどうかを確認します。

于 2013-06-20T08:04:47.547 に答える