Pagini recente » Cod sursa (job #323936) | Cod sursa (job #373969) | Cod sursa (job #1625843) | Cod sursa (job #847733) | Cod sursa (job #1348084)
//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 = new Scanner(new FileInputStream("in.txt"));
PrintWriter out = new PrintWriter("convertor.out");
Scanner valueScanner;
String value;
// delimitez fisierul in obiecte de tip { ......}
scanner.useDelimiter("}");
String container="";
String test1,test2,key="";
int position1,position2,rightCurly;
container=scanner.next().trim();
// impart obiectele dintre {...} dupa virgula
Scanner keyScanner=new Scanner(container);
keyScanner.useDelimiter(",");
//aflare chei
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
while (true){
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();
if(scanner.hasNext()){
container=scanner.next().trim();
if(container.equals("]")) break;
}
//else {
// valueScanner.close();
//break;
//}
}
scanner.close();
out.close();
}
}