2016-08-31 6 views
-7

Я новичок в создании файлов. Мне нужно создать JSON, который я импортирую в свой брандмауэр. Я создал два правила тестирования, чтобы я мог экспортировать формат файла, который мне нужно создать для импорта. Конечный результат должен будет выглядеть следующим образом:Создайте json-файл с как статическими данными, так и динамическим списком IP-адресов

[ 
    { 
     "id" : 1, 
     "enabled" : true, 
     "category" : null, 
     "readOnly" : null, 
     "description" : "Test Rule #1", 
     "string" : "1.2.3.4", 
     "name" : null, 
     "flagged" : true, 
     "javaClass" : "com.testServer.uvm.node.GenericRule", 
     "blocked" : true 
    }, { 
     "id" : 2, 
     "enabled" : true, 
     "category" : null, 
     "readOnly" : null, 
     "description" : "Test Rule #2", 
     "string" : "1.2.3.5", 
     "name" : null, 
     "flagged" : true, 
     "javaClass" : "com.testServer.uvm.node.GenericRule", 
     "blocked" : true 
    } 
] 

У меня есть текстовый файл, который содержит все из IP-адресов, я хочу вставить в файл. Описание будет статическим описанием.

Текстовый файл IP-адресов, которые перечислены по одному в строке, как:

1.2.3.4 
1.2.3.5 

Я довольно новое в программировании я использовал Java и VB прежде, но никогда не приходилось читать файл, вставить эту запись в новую строку в новом файле, а затем следующую запись. Если бы другой язык был бы легче, я узнаю все, что мне нужно. Это то, что я буду использовать для других проектов после того, как я получу его.

+1

Возможно, вы задаете этот вопрос слишком рано, так как вы не показали нам свою собственную попытку решить эту проблему и не описали, какие проблемы у вас могут возникнуть с этой попыткой. –

+0

Вы уже изучали ранее подобные вопросы и пытались реализовать их решения? Это первое, что я сделал бы, если бы я был на твоем месте. –

ответ

-2

первое, что вам нужно сделать, это проверить свои данные в формате JSON, вы можете сделать это с некоторыми страницами, как:

JsonLint

второй, поиск, как создавать файлы с Java, вы можете использовать PrintWriter или Файл

PrintWriter wr = new PrintWriter("dataFile.txt", "UTF-8"); 
writer.println("The first line"); 


File f = new File("C:dataFile.txt"); 
+0

Нет данных JSON для проверки, так как он хочет сгенерировать его. –

1

Дайте ему попробовать это будет работать, он использует библиотеку JSONSimple для подготовки данных в формате JSON

import java.io.FileWriter; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
import java.util.List; 

import org.json.simple.JSONArray; 
import org.json.simple.JSONObject; 

public class Test { 
public static void main(String[] args) throws IOException { 
    // file name from where you read the urls 
    List<String> url = Files.readAllLines(Paths.get("url.txt")); 
    //List to hold the contents and prepare json data 
    JSONArray list = new JSONArray(); 

    try { 

     FileWriter file = new FileWriter("test.json"); 

     for (int i = 0; i < url.size(); i++) { 
      JSONObject obj = new JSONObject(); 
      obj.put("id", i+ 1); 
      obj.put("enabled", new Boolean(true)); 
      obj.put("category", null); 
      obj.put("readOnly", null); 
      obj.put("description", new String("Test Rule #" + (i + 1))); 
      obj.put("string", url.get(i)); 
      obj.put("name", null); 
      obj.put("flagged", new Boolean(true)); 
      obj.put("javaClass", new String("com.testServer.uvm.node.GenericRule")); 
      obj.put("blocked", new Boolean(true)); 
      list.add(obj); 
     } 
     file.write(list.toJSONString()); 
     file.flush(); 
     file.close(); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 
} 

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

  • Нет связанных вопросов^_^