Pagini recente » Cod sursa (job #1657071) | Cod sursa (job #474564) | Cod sursa (job #721091) | Cod sursa (job #2023294) | Cod sursa (job #1347897)
//package javaapplication9;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner;
PrintWriter out;
Scanner valueScanner;
String value;
String container;
Scanner keyScanner;
String test1,test2,key;
int position1,position2,rightCurly;
scanner = new Scanner(new FileInputStream("convertor.in"));
scanner.useDelimiter("}|]");
out = new PrintWriter("convertor.out");
//aflare chei
container = scanner.next().trim();
keyScanner = new Scanner(container);
keyScanner.useDelimiter(",");
while(keyScanner.hasNext()) {
key = keyScanner.next().trim();
position1=key.indexOf('"');
position2=key.indexOf('"', position1+1);
out.write(key.substring(position1+1,position2)+",");
}
out.println();
keyScanner.close();
// aflare valori
scanner = new Scanner(new FileInputStream("convertor.in"));
while (scanner.hasNext()) {
container = scanner.next().trim();
valueScanner = new Scanner(container);
valueScanner.useDelimiter(",");
while(valueScanner.hasNext()) {
value = valueScanner.next().trim(); // value arata asa: "name": "Ruby on Rails" sau "commits": 49507
position1=value.indexOf(':');
position2=value.length();
//test2 e de forma : "Ruby on Rails" sau 49507
test2=value.substring(position1+1,position2).trim();
if(test2.indexOf('"')== -1) { // valoarea e numar deci nu trebuie sa elimin ghilimelele
out.write(value.substring(position1+1,position2).trim()+",");
}
else{// elimin ghilimelele
out.write(test2.substring(1,test2.length()-1).trim()+",");
}
}
out.println();
}
//valueScanner.close();
scanner.close();
out.close();
}
}