将json文件中的值替换为文本文件中的值

时间:2014-12-23 06:05:41

标签: java json

我有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文件中。

1 个答案:

答案 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块,希望这会有所帮助。