[个人学习笔记]Android 从网络获取json并解析 --Demo

这篇博客介绍了如何在Android中从网络获取JSON数据,并进行解析。通过`AsyncTask`在后台线程中执行HTTP请求,然后使用`JSONObject`解析JSON字符串,提取天气信息,并显示在UI上。同时,文章也展示了当JSON数据包含数组时的解析方法。
摘要由CSDN通过智能技术生成

//网络获取json的方法
public String getJsonFromInternet(String url) throws MalformedURLException,IOException {
String resultString = "";
InputStreamReader isrInputStreamReader = new InputStreamReader(new URL(url).openStream());//从网上获取json的字节流
BufferedReader brBufferedReader = new BufferedReader(isrInputStreamReader);//将字节流转换成字符流
String line = "";
while ((line = brBufferedReader.readLine()) != null) 
{
resultString += line;
}
return resultString;//读取网上的json格式的字符串并返回
}
//需要特别注意的是获取json的方法需要脱离UI线程使用,
//可以使用AsyncTask中doInBackground获取网络jsonString




//用json字符串读取内部相关数据
{
    "weatherinfo": {//需要调用getJSONObject("weatherinfo")来获取下面的数据
        "city": "杭州",
        "city_en": "hangzhou",
        "date_y": "2015年6月18日",
        "date": "",
        "week": "星期四",
        "fchh": "11",
        "cityid": "101210101",
        "temp1": "24℃~20℃",
        "weather1": "阵雨转阴"
    }
}//这个是从网上获取到的json字符串






//从json字符串中获取相关的数据的方法
public weather(String json) throws JSONException {
// TODO Auto-generated constructor stub
JSONObject ja=new JSONObject(json).getJSONObject("weatherinfo");
//获取字符串中weatherinfo中的数据并复制给当前的jsonobject对象
//这个是获取到jsonstring中只有一个对象数据的情况下获取数据使用的
setCity(ja.getString("city"));//从ja对象中获取需要的相关信息
setTime(ja.getString("date_y"));
setWeek(ja.getString("week"));
setWeather(ja.getString("weather1"));
setTemp(ja.getString("temp1"));
}






// 从网上获取json并解析数据后显示在view上的demo
//MainActivity.class
package com.example.testjson;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
im

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值