java 连续等_java操作JSON文件实现连续插入、添加等

最近在写一个小例子的时候遇到对JSON数据的读取,在网上找许久也没发现关于连续写入的方式。

写个日志,记录一下!

有关JSON的jar包,里面还有一个队JSON文件的读取例子,

也许整体有点乱,但是下载包里的例子,看看就明白了!

1.存入json文件:

//创建一个JSON对象

JSONObject appObject = new JSONObject();

//将数据添加到对象中

appObject.put("type", type);

appObject.put("username", username);

appObject.put("password", password);

appObject.put("sendTime", sendTime);

此时数据应是这样的:{"type":"modify","username":"name","password":"pwd","sendTime":"20140822104954"}.

// Json文件路径

String path = “c:/...”;

File file = new File(path);

// 如果文件不存在、则创建该文件

if (!file.exists()) {

file.createNewFile();

}

//创建一个JSON数组

JSONArray appArray = new JSONArray();

将之前的JSON对象放进数组中

appArray.add(appObject);

JSONObject jsonObj;

jsonObj = new JSONObject();

//为JSON数组指定一个key

jsonObj.element("appdata", appArray);

//此时数据如下:{"appdata":[{"type":"modify","username":"name","password":"pwd","sendTime":"20140822105030"}]}

// 获取JSON数据字符串

String str = ReadFile(filePath);

if (str.length() > 0) {

// 获取JSON对象

jsonObj = JSONObject.fromObject(str);

// 获取JSON集合对象

JSONArray arr = jsonObj.getJSONArray("appdata");

arr.add(appObject);

} else {

JSONArray appArray = new JSONArray();

appArray.add(appObject);

jsonObj = new JSONObject();

jsonObj.element("appdata", appArray);

}//将JSON数据存储到文件中

FileWriter fileWriter = new FileWriter(filePath);

PrintWriter out = new PrintWriter(fileWriter);

out.write(jsonObj.toString());

out.println();

fileWriter.close();

out.close();

以上用到的读取JSON数据的方法:

public static String ReadFile(String path) {

File file = new File(path);

BufferedReader reader = null;

// 构造最后返回的json串

String laststr = "";

try {

// 以行为单位读取文件内容,一次读一整行:

reader = new BufferedReader(new FileReader(file));

String tempString = null;

// 一次读入一行,直到读入null为文件结束

while ((tempString = reader.readLine()) != null) {

// 拼接数据信息

laststr = laststr + tempString;

}

reader.close();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e1) {

}

}

}

return laststr;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值