因为项目需要,要导入学校信息,包含学校名称和学校位置。
理所当然地想到了用json文件来存储这些信息,并在需要的时候读取出来
首先先得到这些json数据,这里我找到一个
是这种格式
[
{
"id" : 1,
"name" : "北京大学",
"place" : "北京"
}
]
写了个工具类,来帮助读取json文件和解析成JsonArray,使用的是阿里的fastjson。
读取文件就是使用普通的IO流
import android.content.Context;
import com.alibaba.fastjson.JSONArray;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class SchoolJsonTool {
public static String getSchoolText(Context context) {
try {
InputStream in = null;
in = context.getResources().getAssets().open("school.json");
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
String line;
br = new BufferedReader(new InputStreamReader(in));
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
if (br != null) {
br.close();
}
return sb.toString();
} catch (Exception e) {
}
return "";
}
public static JSONArray getSchoolArray(Context context) {
try {
return JSONArray.parseArray(getSchoolText(context));
} catch (Exception e) {
return null;
}
}
}