yimultiscreenserver-sdk-web
Version:
YiMultiScreenServer SDK for Web
46 lines (38 loc) • 1.26 kB
text/typescript
import { SDKLog } from '../../util/SDKLog';
import { Utils } from '../../util/Utils';
import { Code } from '../http/response/Code';
import { Result } from '../http/response/Result';
export class JsonParser {
private readonly TAG: string = "JsonParser";
constructor() {}
mapToJson(map: Map<string, string>): string {
let ret: string = JSON.stringify(Object.fromEntries(map));
return ret;
}
toJson(o: Object): string {
let ret: string = JSON.stringify(o);
return ret;
}
fromJson<T>(json: string): T {
let ret: T = JSON.parse(json);
return ret;
}
fromJsonToHttpResult<T>(json: string): Result<T> {
let result = new Result<T>();
if (!Utils.isHasContent(json)) {
result.code = Code.ERR;
result.msg = "server not response";
SDKLog.e(this.TAG, result.msg);
return result;
}
let temp: any = JSON.parse(json);
result.code = temp.code;
result.msg = temp.msg;
if (result.code != Code.OK) {
SDKLog.e(this.TAG, result.msg);
return result;
}
result.data = temp.data;
return result;
}
}