Генерация JSON
из карты (пары ключ-значение), по умолчанию ее взятие ключа и значения:
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.io.File;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public class Entity2 {
private static void generatePartiallySearchableEntity(Map<String, Set<String>>sysMap,String root_dir_loc) throws Exception {
Set<Entry<String, Set<String>>> entryset = sysMap.entrySet();
ObjectMapper mapperobj = new ObjectMapper();
mapperobj.enable(SerializationFeature.INDENT_OUTPUT);
mapperobj.writeValue(new File(root_dir_loc),entryset);
System.out.println(mapperobj.writerWithDefaultPrettyPrinter().writeValueAsString(entryset));
System.out.println("\njson file created in"+root_dir_loc+"");
}
public static void main(String args[]) throws Exception {
Map<String, Set<String>> synMap = new HashMap<String, Set<String>>();
Set<String> severityEntitySet = new HashSet<String>();//severity
severityEntitySet.add("Critical");
severityEntitySet.add("Error");
severityEntitySet.add("Warning ");
severityEntitySet.add("Information");
synMap.putIfAbsent("severity",severityEntitySet);
Set<String> impactEntitySet = new HashSet<String>();//Impact
impactEntitySet.add("Incident");
impactEntitySet.add("Risk");
impactEntitySet.add("Event");
synMap.putIfAbsent("Impact", impactEntitySet);
String root_dir_loc = "C:\\test.json";
generatePartiallySearchableEntity(synMap,root_dir_loc);
}
}
вывод (мне не нужен ключ и текст значения в файле JSON)
[ {
"key" : "severity",
"value" : [ "Error", "Critical", "Information", "Warning " ]
}, {
"key" : "Impact",
"value" : [ "Risk", "Event", "Incident" ]
} ]
ожидаемый вывод (мне нужен текст значений и синонимов в файле JSON)
[ {
"values" : "severity",
"synonyms" : [ "Error", "Critical", "Information", "Warning " ]
}, {
"values" : "Impact",
"synonyms" : [ "Risk", "Event", "Incident" ]
} ]
любая помощь будет оценена