2016-03-28 23 views
1

70 nesneye sahip bir JSON dosyanız var, her nesne diziler gibi öğeler içeriyor.Dize JSON öğesinin birden çok klasöre nasıl kaydedileceği

{ 
    "journal": ".....", 
    "category": ["Sport", "football", "Real Madrid"], 
    "abstract": "Here is an example" 
} 

Birincisi, eleman "category" ait Strings ile klasörler oluşturmak: İşte JSON nesnesinin bir örnektir. Bir sonraki adım, "abstract" öğesinin dizesinden bir .txt dosyası oluşturmaktır. Yapacağım şey, bu klasörlerdeki her bir .txt dosyasını kaydetmektir.

Örneğin, eleman "abstract" dizesi "İşte bir örnek" içerir, bu ifade ile .txt dosyası oluşturun ve ben klasörde Sport, Football ve Real Madrid üzerine kaydetmek nasıl bilmek istiyorum.

// create a list of folder names and call it "folderArray". 
// You are already doing something like this, but I don't know the variable name. 
// You also have the name of the abstract text file name in a variable. 
// This code assumes that variable is called "abstractFileName". 

for (final String folder : folderArray) 
{ 
    final String newFileName = folder + File.separatorChar + abstractFileName; 

    // create a file with the name "newFileName" 

    // Write the abstract contents to the new file. 
} 
+0

Ne kadar denedin mi: İşte –

+0

[FileWriter] (https://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html) sınıfını kullanın. – Robert

+0

@SashaSalauyou JSONArray öğesinden dizinler oluşturun ve JSONArray –

cevap

1

bazı örnek java nedir? Sorununuz `JSONArray` içeriklerini ayıklamak veya dizinleri oluşturmak için başvuruyor?
0
JSONObject obj = new JSONObject(jsonString); 
JSONArray arr = obj.getJSONArray("category"); 
File f = new File("C:/Files"); 
for(int i = 0; i < arr.length; i++) 
{ 
    String folderName = arr.getString(i); 
    File folder = new File(folderName); 
    if(folder.mkdir()) { 
    File file = new File(folderName + "fileName.txt"); 
    String data = obj.getString("abstract"); 

    // Now using stream write the data to this file 
    DataOutputStream dos = new DataOutputStream(FileOutputStream(file)); 
    dos.writeUTF(data); 
} 
+0

Teşekkür ederim, bu kod, klasörler ve iyi metin dosyaları oluşturmak, ancak –

+0

oluşturulan klasörler için metinleri etkilemez nasıl tüm txt dosyası kaydetmek veya –

+0

önce oluşturulan bazı dizinleri ne anlamadım Gerçekten istiyorsun .. Bunu açıklayabilir misin? –

İlgili konular