android读写删json

private void DeleteJsonStream(String filesavepath) {//删除json对应的数据
List<DownloadInfo> readJsonStreams = readJsonStream();
for (int i = 0; i < readJsonStreams.size(); i++) {
if (readJsonStreams.get(i).getFileSavePath().equals(filesavepath)) {
readJsonStreams.remove(i);
}
}
writeListJsonStream(readJsonStreams);
}


private void writeJsonStream(DownloadInfo downloadInfo) {


List<DownloadInfo> readJsonStreams = readJsonStream();


readJsonStreams.add(downloadInfo);


writeListJsonStream(readJsonStreams);
}


private void writeListJsonStream(List<DownloadInfo> downloadInfos) {//写json数据


String filePath = "/mnt/sdcard/Android/data/com.mw.guahu/files/android_u3d.json";


if (null == downloadInfos)


return;


try {


FileOutputStream fileOutputStream = new FileOutputStream(filePath);


// 开始写JSON数据
JsonWriter jsonWriter = new JsonWriter(new OutputStreamWriter(fileOutputStream, "UTF-8"));


jsonWriter.beginArray();


for (DownloadInfo info : downloadInfos) {


jsonWriter.beginObject();


jsonWriter.name("url").value(info.getFileSavePath());


jsonWriter.name("image").value(info.getHeadurl());


jsonWriter.endObject();


}


jsonWriter.endArray();


jsonWriter.close();


} catch (Exception e) {
e.printStackTrace();
}
}


private List<DownloadInfo> readJsonStream() {//读json数据


List<DownloadInfo> readJsonStreams = new ArrayList<DownloadInfo>();


String filePath = "/mnt/sdcard/Android/data/com.mw.guahu/files/android_u3d.json";


FileInputStream fileInputStream;
try {
fileInputStream = new FileInputStream(filePath);
JsonReader jsonReader = new JsonReader(new InputStreamReader(fileInputStream, "UTF-8"));


jsonReader.beginArray();


while (jsonReader.hasNext()) {


DownloadInfo downloadInfo = new DownloadInfo();


jsonReader.beginObject();


if (jsonReader.nextName().equals("url")) {


downloadInfo.setFileSavePath(jsonReader.nextString());


}
if (jsonReader.nextName().equals("image")) {


downloadInfo.setHeadurl(jsonReader.nextString());
}


jsonReader.endObject();


readJsonStreams.add(downloadInfo);
}


jsonReader.endArray();


jsonReader.close();


} catch (Exception e) {
e.printStackTrace();
}
return readJsonStreams;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,我们可以使用AssetManager来读取assets文件夹中的json文件。具体步骤如下: 1. 获取AssetManager对象:AssetManager assetManager = getAssets(); 2. 使用InputStreamReader和BufferedReader读取json文件内容:InputStreamReader inputStreamReader = new InputStreamReader(assetManager.open("bank.json"),"UTF-8"); BufferedReader br = new BufferedReader(inputStreamReader); 3. 将读取到的内容存储到StringBuilder中:StringBuilder builder = new StringBuilder(); while ((line = br.readLine())!=null){ builder.append(line); } 4. 关闭流:br.close(); inputStreamReader.close(); 5. 将StringBuilder中的内容转换为JSONObject对象:JSONObject testJson = new JSONObject(builder.toString()); 6. 从JSONObject对象中获取JSONArray:JSONArray array = testJson.getJSONArray("banks"); 7. 遍历JSONArray,获取每个JSONObject中的数据:for (int i = 0;i<array.length();i++){ JSONObject jsonObject = array.getJSONObject(i); String text = jsonObject.getString("text"); String value = jsonObject.getString("value"); Log.e("tag", "initData: "+text+value); } 如果要将JSONObject对象写入到文件中,可以使用FileWriter和BufferedWriter。具体步骤如下: 1. 创建JSONObject对象:JSONObject jsonObject = new JSONObject(); 2. 向JSONObject对象中添加数据:jsonObject.put("name", "张三"); jsonObject.put("age", 18); 3. 创建FileWriter和BufferedWriter对象:FileWriter fileWriter = new FileWriter("test.json"); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); 4. 将JSONObject对象转换为字符串并写入文件:bufferedWriter.write(jsonObject.toString()); 5. 关闭流:bufferedWriter.close(); fileWriter.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值