Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class JSON {
- function decode(string) {
- local _compile = compilestring("return " + stripLines(string));
- return _compile();
- }
- function stripLines(string) {
- local _split = split(string, "\r\n");
- string = "";
- foreach(_string in _split) string += _string;
- return string;
- }
- function encode(var) {
- local _string;
- switch(typeof(var)) {
- case "integer":
- return var.tointeger();
- case "bool":
- return var.tointeger() == 1 ? "true" : "false";
- case "string":
- return "\"" + var.tostring() + "\"";
- case "float":
- return var.tostring();
- case "array":
- _string = " [ ";
- foreach(key, element in var) {
- local _string_2 = encode(element);
- if(_string_2 == null)
- return null;
- _string += _string_2 +(key+1 < var.len() ? ", " : "");
- }
- _string += " ]";
- return _string;
- case "table":
- _string = " { ";
- local _i = 0;
- foreach(key, value in var) {
- _i++;
- local _key = encode(key);
- if(_key == null) {
- return null;
- }
- local _value = encode(value);
- if(_value == null) {
- return null;
- }
- _string += _key + ": " + _value +(_i < var.len() ? ", " : "");
- }
- _string += " }";
- return _string;
- default:
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment