2013-10-17 53 views
0

我正在嘗試使用代碼或腳本來附加到安裝程序來編輯「.json」文件。編輯.json文件:在文件的某些部分添加行?

我需要它添加到一個.json配置文件的幾行,但我還沒有找到任何代碼或在線教程如何做到這一點。

我試圖尋找方法來添加行到一個正常的.txt文件,但沒有運氣。

我在網上找到的是追加,但那不是我所需要的。

也許一種方法來搜索文件的某個點來移動指針然後添加在行中?

我知道一點Java但沒有其他編碼語言。

有沒有辦法在Java或一些小腳本中做到這一點?

+3

使用JSON解析器來讀取,然後重寫該文件。 – SLaks

回答

0

如果你使用的Java 7和您的JSON是不是很大,這是添加行一個簡單的方法:

List<String> lines = Files.readAllLines(Paths.get("C:\\Automation1\\some.json"), StandardCharsets.UTF_8); 
lines.add(6, "{ \"abc\": 123}"); // as example add data to row 6 
Files.write(Paths.get("C:\\Automation1\\some.json"), lines, StandardCharsets.UTF_8); 

但是這種技術是很難維持的。

我建議你轉換JSON來的對象,將其轉換回JSON文件你橫坑對象後

1

是的,有一種方法。這裏有一些僞代碼給你的概念。

JSONObject json = fileRead("myfile.json") 
JSONObject objToAdd = new JSONObject(); 
json.add(objToAdd); 

fileWrite(json); 
0

使用json解析器庫,如json-simple。首先閱讀內容,將其傳遞給解析器並創建一個Json對象。下面是一個example

JSONObject obj=new JSONObject(); 
    obj.put("name","foo"); 
    obj.put("num",new Integer(100)); 
    obj.put("balance",new Double(1000.21)); 
    obj.put("is_vip",new Boolean(true)); 
    obj.put("nickname",null); 
    StringWriter out = new StringWriter(); 
    obj.writeJSONString(out); // your writer object, i.e., FileWriter 
    String jsonText = out.toString(); 
    System.out.print(jsonText); 

那麼你還可以添加一個JSONObject的另一個:jsonObj1.add(jsonObj);