1. 读取并解析本地assets目录中的文件数据
public class JsonActivity extends AppCompatActivity {
private ScrollView scrollable;
private TextView tvShow;
private String result = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_json);
scrollable = (ScrollView) findViewById(R.id.scrollable);
tvShow = (TextView) findViewById(R.id.tv_show);
getJson();
}
public void getJson(){
InputStreamReader isr = null;
try {
isr = new InputStreamReader(getAssets().open("province.txt"),"UTF-8");
BufferedReader br = new BufferedReader(isr);
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line=br.readLine())!=null){
stringBuilder.append(line);
}
result = stringBuilder.toString();
isr.close();
br.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Log.i("读取结果:",result);
if (result!=null) {
runOnUiThread(new Runnable() {
@Override
public void run() {
tvShow.setText(result);
}
});
}
}
}
2. Gson实现数据解析并显示
public class getJsonActivity extends AppCompatActivity {
private TextView tv;
private ScrollView scrollable;
private TextView tvPro;
private TextView tvCity;
CityBean cityBean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_json);
scrollable = (ScrollView) findViewById(R.id.scrollable);
tv = (TextView) findViewById(R.id.tv);
tvPro = (TextView) findViewById(R.id.tv_pro);
tvCity = (TextView) findViewById(R.id.tv_city);
getJson();
}
private void getJson() {
int i=0;
String resultString = null;
InputStreamReader isr;
try {
isr = new InputStreamReader(getAssets().open("province.txt"), "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
StringBuilder stringBuilder = new StringBuilder();
while ((line = br.readLine()) != null) {
stringBuilder.append(line);
}
isr.close();
br.close();
resultString = stringBuilder.toString();
Log.i("解析结果:", resultString);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
JsonParser parser = new JsonParser();
JsonArray jsonArray = parser.parse(resultString).getAsJsonArray();
Gson gson = new Gson();
for (JsonElement obj:jsonArray){
CityBean city = gson.fromJson(obj,CityBean.class);
List<CityBean.MallCityListDTO> re = new ArrayList<>();
re = city.getMallCityList();
String cityname = re.get(i).getCityName();
tv.append(cityname.toString());
}
}
}