Pagini recente » Cod sursa (job #2806955) | Cod sursa (job #2599237) | Cod sursa (job #1420291) | Cod sursa (job #988256) | Cod sursa (job #1358669)
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
class JSONConvertor {
public:
void convert() {
ifstream in;
ofstream out;
string buffer;
int begin, end;
int cnt;
in.open("convertor.in");
out.open("convertor.out");
getline(in, buffer, '{');
getline(in, buffer, '}');
cnt = 0;
while (true) {
begin = buffer.find_first_of("\"", cnt);
end = buffer.find_first_of("\"", begin + 1);
out << buffer.substr(begin + 1, end - begin - 1) << ",";
cnt = buffer.find_first_of(",", cnt + 1);
if (cnt == string::npos) {
out << endl;
break;
}
}
while (true) {
while (true) {
begin = buffer.find_first_of(":");
if (begin == string::npos) {
out << endl;
break;
}
begin = buffer.find_first_not_of(" \f\n\r\t\v", begin + 1);
if (buffer.at(begin) == '\"') {
begin++;
}
end = buffer.find_first_of(",", begin + 1);
end = buffer.find_last_not_of(" \f\n\r\t\v", end - 1);
if (buffer.at(end) == '\"') {
end--;
}
out << buffer.substr(begin, end - begin + 1) << ",";
buffer = buffer.substr(begin);
}
getline(in, buffer, '}');
if (buffer.find_first_of(",") == string::npos) {
break;
}
} ;
in.close();
out.close();
}
};
int main(int argc, char* argv[]) {
JSONConvertor myJSONConvertor;
myJSONConvertor.convert();
return 0;
}