-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWorkJSON.java
More file actions
71 lines (61 loc) · 2.85 KB
/
WorkJSON.java
File metadata and controls
71 lines (61 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.io.*;
import java.nio.file.AccessDeniedException;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationConfig;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.jvnet.ws.wadl.Link;
public class WorkJSON {
ObjectMapper mapper = new ObjectMapper(); //.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
LinkedHashMap<String, Snork> snorks = new LinkedHashMap<>();
public void jsonToFile(LinkedHashMap<String, Snork> snorks, String path) {
try { List result= new LinkedList<>();
String json="";
for ( Map.Entry<String, Snork> entry : snorks.entrySet()) {
String key = entry.getKey();
String snork = mapper.writeValueAsString(entry.getValue());
json+="{\"key\":"+"\""+key+"\""+",\"snork\":"+snork+"},";
}
json=removeLastChar(json);
json="["+json+"]";
result= Arrays.asList(mapper.readValue( json, LinkedHSSnork[].class ));
String s = mapper.writeValueAsString(result);
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(path));
bufferedWriter.write(s);
bufferedWriter.close();
} catch (IOException | NullPointerException e) {
System.out.println("Проверьте доступ к файлу вывода");
}
}
public LinkedHashMap<String, Snork> jsonToObject(String path) {
List<LinkedHSSnork> snorksList= getSnorks(path);
for (LinkedHSSnork linkedHSSnorksnork:snorksList){
snorks.put(linkedHSSnorksnork.key, linkedHSSnorksnork.snork);
}
return snorks;}
public List<LinkedHSSnork> getSnorks(String path){
List<LinkedHSSnork> list=new ArrayList<>();
try {
list= Arrays.asList(mapper.readValue( new File(path),LinkedHSSnork[].class ));
}catch (NullPointerException f) {
System.out.println("Пустой ввод");
} catch(IllegalStateException z){
System.out.println("Неправильное представление json");
}
catch (FileNotFoundException e){
System.out.println("Файл не найден, нет доступа");
} catch (IOException s){
System.out.println("Неправильное представление json");
}
return list;
}
public String removeLastChar(String s) {
if (s == null || s.length() == 0) {
return s;
}
return s.substring(0, s.length()-1);
}
}