我有一个.json文件,我正在使用它像属性文件。读完json文件后,我从" Execute"中获取值。节点,然后我想更新"执行"值为" N"。
的节点我的json文件看起来像这样。 {" RunDate":" 2015-01-12""执行":" Y"}。我写了代码来读取json文件,我试图通过编写一个新文件来更新文件。
JSONParser parser = new JSONParser();
try {
FileReader fr = new FileReader("c:\\B\\myControl.json");
Object obj = parser.parse(fr);
JSONObject jsonObject = (JSONObject) obj;
ExecuteRun = (String) jsonObject.get("Execute");
RunDate = (String) jsonObject.get("RunDate");
//update
jsonObject.put("Execute", "N");
jsonObject.put("RunDate", RunDate);
FileWriter file = new FileWriter("c:\\B\\mycontrol.json", true);
try {
file.write(jsonObject.toJSONString());
} catch (Exception e) {
e.printStackTrace();
} finally {
file.flush();
file.close();
}
} catch(Exception e) {
e.printStackTrace();
}
FileWriter行获取"访问被拒绝"错误。
任何人都可以帮助我吗?
答案 0 :(得分:0)
放置此代码
try (FileWriter file = new FileWriter("/C:/Users/itaas/Desktop/text1.txt")) {
file.write(js.toString());
System.out.println("Successfully Copied JSON Object to File...");
System.out.println("\nJSON Object: " + js);
}
} catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:0)
//this worked for me
package com.FLP.utils;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.io.FileWriter;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
@SuppressWarnings("unchecked")
public class TestDataReader {
public static void main(String[] args) {
try (Reader reader = new FileReader(".\\testdata\\TC_11.json")) {
// Read JSON file
JSONParser parser = new JSONParser();
JSONObject data = (JSONObject) parser.parse(reader);
data.put(key value);
@SuppressWarnings("resource")
FileWriter file = new FileWriter(".\\testdata\\TC_11.json");
file.write(data.toJSONString());
file.flush();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
}