我有2个文件,我想将JSON文件中的所有值替换为新文件中的值。
我的JSON格式如下:
{
"id": 1,
"name": "",
"code": 9.3
},
{
"id": 2,
"name": "Test",
"code": 5.0
},
我的.txt文件是:
1 - 9.9
2 - 3.4
等
因此,对于json文件中的所有id,等于我要替换的文本文件中的第一个数字" code"行中的第二个数字,位于.txt文件中。
答案 0 :(得分:0)
- >从文件中读取JSON值: -
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("input1.json"));
JSONObject jsonObject = (JSONObject) obj;
String id= (String) jsonObject.get("id");
- >从文本文件中读取输入值: -
FileReader fr=new FileReader(new File(input2.txt));
BufferedReader br = new BufferedReader(fr);
String s;
while((s = br.readLine()) != null) {
String[] strArr=s.split("-"); //split each element of input text file to get id and value individually
.
.
}
- >比较ID并将更新的值写入新的JSON文件
JSONObject objWr = new JSONObject();
if(id.equals(strArr[0].trim())){
objWr.put("id", id);
objWr.put("code", strArr[1]); //replace code with 2nd element in String[] from txt file
}
FileWriter fw= new FileWriter("output.json");
fw.write(objWr.toJSONString());
fw.flush();
注意: - 在许多地方,我错过了关闭i / o流,并附上我留给你填写的try-catch块,希望这会有所帮助。