Pagini recente » Cod sursa (job #1680598) | Cod sursa (job #1359754) | Cod sursa (job #311859) | Cod sursa (job #174635) | Cod sursa (job #1344832)
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintWriter;
class Main {
public static String buffer = "";
public static boolean parseKeyList = true;
public static PrintWriter writer;
public static void main(String[] args) throws FileNotFoundException {
String line;
writer = new PrintWriter("convertor.out");
try (BufferedReader br = new BufferedReader(new FileReader("convertor.in"))) {
while((line = br.readLine()) != null) {
parseString(line);
}
br.close();
} catch (Exception e) {
System.out.println("Something went wrong!");
System.out.println(e.toString());
}
writer.close();
}
public static void parseString(String line) {
buffer = buffer.concat(line);
while(containsJsonObject(buffer)) {
String jsonObject = buffer.substring(buffer.indexOf('{') + 1, buffer.indexOf('}'));
parseObject(jsonObject, parseKeyList);
buffer = buffer.substring(buffer.indexOf('}') + 1, buffer.length());
parseKeyList = false;
}
}
public static boolean containsJsonObject(String str) {
return (str.indexOf('{') != -1) && (str.indexOf('}') != -1);
}
public static void parseObject(String jsonObject, boolean parseKeyList) {
char ch;
// print out the csv header
if(parseKeyList) {
int keyEndQuote, keyStartQuote;
for(int i = 0; i < jsonObject.length(); i++) {
ch = jsonObject.charAt(i);
if(ch == ':') {
keyEndQuote = jsonObject.lastIndexOf('"', i);
keyStartQuote = jsonObject.lastIndexOf('"', keyEndQuote - 1);
writer.print(jsonObject.substring(keyStartQuote + 1, keyEndQuote).concat(","));
}
}
writer.println();
}
// print our the csv data
int pairComma;
for(int i = 0; i < jsonObject.length(); i++) {
ch = jsonObject.charAt(i);
if(ch == ':') {
pairComma = jsonObject.indexOf(',', i);
if(pairComma != -1) {
writer.print(
jsonObject.substring(i + 1, pairComma)
.trim()
.concat(",")
.replace("\"", "")
);
} else {
writer.println(
jsonObject.substring(i + 1, jsonObject.length())
.concat(",")
.replace("\"", "")
);
break;
}
}
}
}
}