小白 在做Android新闻端 用json获取网页数据 出现如下图的报错 不知道怎么改-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

小白 在做Android新闻端 用json获取网页数据 出现如下图的报错 不知道怎么改

2016-07-06 19:03:46 2464 1

screenshot
可以看这个http://ask.csdn.net/questions/232048

 private Handler getNewsHandler = new Handler(){
        public void handleMessage(android.os.Message msg) {
            String jsonData = (String) msg.obj;
            System.out.println(jsonData);
            try {
                JSONArray jsonArray = new JSONArray(jsonData);
                for (int i=0;i<jsonArray.length();i++){
                    JSONObject object = jsonArray.getJSONObject(i);
                    String id = object.getString("id");
                    String title = object.getString("title");
                    String excerpt = object.getString("excerpt");
                    String date = object.getString("date");
                    String comment_count = object.getString("comment_count");
//                  String custom_fields = object.getString("custom_fields");
                    String thumb_value_URL = object.getString("thumb_value_URL");
                                        System.out.println("title = " +title);
                    /*System.out.println("thumb_value = " +thumb_value);*/
                    newsList.add(new News(title, date, comment_count, thumb_value_URL));
                }
                adapter.notifyDataSetChanged();
            } catch (Exception e) {
                e.printStackTrace();
            }
        };
    };
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lvNews = (ListView) findViewById(R.id.lvNews);
        newsList = new ArrayList<News>();
        adapter = new NewsAdapter(this, newsList);

        lvNews.setAdapter(adapter);
        lvNews.setOnItemClickListener(this);
        HttpUtils.getNewsJSON(GET_NEWS_URL, getNewsHandler);
    }
@Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
        News news = newsList.get(position);
        Intent intent = new Intent(this, BrowseNewsActivity.class);
        intent.putExtra("Excerpt", 11);
        startActivity(intent);
    }

}
public class News {
private String title;
// private String excerpt;
 private String date;
 // private String id;
 private String comment_count;
 private String thumb_value;
 // private String custom_fields;
public News(String title, String date, String comment_count, String thumb_value ){
    setTitle(title);
// setExcerpt(excerpt);
 setDate(date);
 // setId(id);
 setComment_count(comment_count);
 // setCustom_fields(custom_fields);
 setThumb_value(thumb_value);}
public String getComment_count() {
    return comment_count;
}
public void setComment_count(String comment_count) {
    this.comment_count = comment_count;
}
public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}

public String getDate() {
    return date;
}
public void setDate(String date) {
    this.date = date;
}
public String getThumb_value() {
    return thumb_value;
}
public void setThumb_value(String thumb_value) {
    this.thumb_value = thumb_value;
}
}
 public class NewsAdapter extends BaseAdapter {

    private Context context;
    private List<News> newsList;

    public NewsAdapter(Context context, List<News> newsList){
        this.context = context;
        this.newsList = newsList;
    }
@Override
    public int getCount() {
        return newsList.size();
    }
@Override
    public News getItem(int position) {
        return newsList.get(position);
    }
@Override
    public long getItemId(int position) {
        return position;
    }
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null){
            convertView = LayoutInflater.from(context).inflate(R.layout.news_item, null);
        }
        TextView Title = (TextView) convertView.findViewById(R.id.Title);
//      TextView excerpt = (TextView) convertView.findViewById(R.id.excerpt);
        TextView date = (TextView) convertView.findViewById(R.id.date);
        TextView comment_count = (TextView)convertView.findViewById(R.id.comment_count);
        ImageView thumb_value_URL = (ImageView) convertView.findViewById(R.id.thumb_value);

        News news = newsList.get(position);
        Title.setText(news.getTitle());
//      excerpt.setText(news.getExcerpt());
        date.setText(news.getDate());
        comment_count.setText(news.getComment_count());
//      String custom_fields = news.getCustom_fields();
    /*  HttpUtils.setPicBitmap(thumb_value,thumb_value_URL);*/
        return convertView;
    }
}
取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:52:25

    String jsonData = (String) msg.obj; System.out.println(jsonData); try { JSONArray jsonArray = new JSONArray(jsonData);日志里面说37行有问题,我觉得也是,给的是JSONObject ,而你将之转换成JSONArray,会出现这种错误

    0 0
相关问答

1

回答

复杂类型数据(json,vector)存储方式是什么?

2022-11-01 18:13:14 93浏览量 回答数 1

0

回答

想问问大家clickhouse 怎么查嵌套了多重的json数据 ?

2022-09-28 08:49:07 90浏览量 回答数 0

1

回答

在使用 Filebeat 的 HTTP JSON 模块采集 GitHub API 数据的过程中被限流

2022-09-08 14:49:45 371浏览量 回答数 1

0

回答

cdc同步mysql,出来的json数据里面有个字段 ts_ms, 存的是这条数据到达flin

2022-08-30 11:29:18 121浏览量 回答数 0

0

回答

flink cdc从MySQLSource读取后怎么转换成canal json格式数据输出?

2022-08-22 10:02:12 170浏览量 回答数 0

1

回答

把订单数据发到后端或者从后端拿回来不用Json去描述可不可以啊?

2022-08-16 12:57:13 238浏览量 回答数 1

1

回答

如何使用生成器编写json数据啊?

2022-08-16 09:43:53 194浏览量 回答数 1

1

回答

如何使用解析器读取json数据啊?

2022-08-16 09:38:52 201浏览量 回答数 1

1

回答

如何从json数据创建对象模型啊?

2022-08-16 09:13:46 193浏览量 回答数 1

1

回答

请问。我现在服务启动,初始化数据的时候,从invoke过来,我sink对获取的json插入到目标库(

2022-07-22 13:46:16 82浏览量 回答数 1
+关注
杨冬芳
IT从业
文章
问答
问答排行榜
最热
最新
相关电子书
更多
Android应用启动速度和内存优化实践
立即下载
复杂环境下的视觉同时定位与地图构建
立即下载
58同城Android客户端Walle框架演进与实践之路
立即下载