2014-09-25 2 views
0

Я хочу, чтобы иметь JSON-файл, как это:мой JSONObject заменяет предыдущий

{ 

"resu0": 
{"item":"value"} 

"resu1": 
{"item":"value"} 

"resu2": 
{"item":"value"} 

} 

, который «RESU» и «0,1,2, ...» являются пришли из умысел дополнительно.

И я использую этот код для мю цели:

private void createsome(String str, int pn, String name,String value){ 
    try { 

     JSONObject koli = new JSONObject(); 
     JSONObject page = new JSONObject(); 
     page.put(name, value); 
     koli.put(str + pn, page); 
     File json = new File(mypath,"myfile.json"); 
     FileWriter jsw = new FileWriter(json); 
     jsw.write(koli.toString()); 
     jsw.flush(); 
     jsw.close(); 

} catch (Exception e) { 
    Log.d("Exxx", e.toString()); 
} 
} 

Но я получаю только последний и все новые jsonobjects заменяют предыдущие вместо добавления. например, если оставить приложение, когда мое намерение номер «5» вся моя jsonfile будет выглядеть следующим образом:

{ 
"resu5": 
{"item":"value"} 
} 

Я знаю, что у меня есть очень небольшая проблема недоразумению, но я не могу найти его.

+0

вы вызывающему этот метод в цикле? –

+0

Возможно, вам нужно восстановить содержимое файла, установить его как JSONObject, затем добавить новый узел в корневой узел JSON и снова записать файл. Если вы попробуете опцию blackbelt, возможно, что вы создадите неверный файл JSON. – CaptainTeemo

ответ

1

Изменить

FileWriter jsw = new FileWriter(json); 

с

FileWriter jsw = new FileWriter(json, true); 

этот путь thte FileWriter открыт в режиме дописывания

Смежные вопросы