如何从java中的json获取字符串

时间:2013-06-20 07:39:52

标签: java android json

  

我有一个像这样的JSONstring,并从JSONstring ...

获取每个字符串      

运行时出现thiis错误转换结果时出错   显示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 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

使用字符串equals()方法进行比较,使用此

  if("1".equals(login))

而不是

  if(login=="1")

答案 2 :(得分:0)

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

答案 3 :(得分:0)

基于您的代码,我只能将“welcome”对象视为null。如果您实际传递了您提供的响应,则“json”对象不能为null。虽然login ==“1”是错误的,但不会抛出NullPointerException。所以唯一可能的是“welcome”对象为null,或者异常可能在你未粘贴的代码片段中。