123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- // 模拟 PlatformLogger.SystemInfo 方法,实际使用时需要替换为真实实现
- const PlatformLogger = {
- SystemInfo: (message: string) => {
- console.log(message);
- }
- };
-
- /**
- * 将json串转换成Dictionary对象
- * @param jsonString
- * @returns
- */
- export function ParseJson2Dictionary(jsonString: string): { [key: string]: any } {
- const json = JSON.parse(jsonString);
- return ParseJObject2Dictionary(json);
- }
-
- /**
- * 将json串转换成Dictionary对象,深度为1
- * @param jsonString
- * @returns
- */
- export function ParseJson2StringDictionary(jsonString: string): { [key: string]: string } {
- const json = JSON.parse(jsonString);
- const dict = ParseJObject2Dictionary(json, true);
- const result: { [key: string]: string } = {};
- for (const key in dict) {
- if (dict.hasOwnProperty(key)) {
- result[key] = String(dict[key]);
- }
- }
- return result;
- }
-
- /**
- * 将json串转换成List对象
- * @param jsonString
- * @returns
- */
- export function ParseJson2List(jsonString: string): any[] {
- const json = JSON.parse(jsonString);
- if (!Array.isArray(json)) {
- throw new Error('输入的 JSON 不是数组');
- }
- return ParseJArray2List(json);
- }
-
- /**
- * 将json串转换成List对象,深度为1
- * @param jsonString
- * @returns
- */
- export function ParseJson2StringList(jsonString: string): string[] {
- const json = JSON.parse(jsonString);
- if (!Array.isArray(json)) {
- throw new Error('输入的 JSON 不是数组');
- }
- return ParseJArray2List(json, true).map(x => x.toString());
- }
-
- /**
- * 将Dictionary对象转换成json串
- * @param dict
- * @returns
- */
- export function ParseDictionary2Json<T>(dict: { [key: string]: T }): string {
- return JSON.stringify(dict);
- }
-
- /**
- * 将IList对象转换成json串
- * @param list
- * @returns
- */
- export function ParseList2Json(list: any[]): string {
- return JSON.stringify(list);
- }
-
- /**
- * 将JObject对象转换成Dictionary对象
- * @param json
- * @param depth1
- * @returns
- */
- function ParseJObject2Dictionary(json: any, depth1 = false): { [key: string]: any } {
- const result: { [key: string]: any } = {};
- for (const key in json) {
- if (json.hasOwnProperty(key)) {
- let value: any = null;
- const item = json[key];
- if (typeof item !== 'object' || item === null) {
- value = item;
- } else if (Array.isArray(item)) {
- value = depth1 ? item.toString() : ParseJArray2List(item);
- } else {
- value = depth1 ? JSON.stringify(item) : ParseJObject2Dictionary(item);
- }
- result[key] = value;
- }
- }
- return result;
- }
-
- /**
- * 将JArray对象转换成List对象
- * @param json
- * @param depth1
- * @returns
- */
- function ParseJArray2List(json: any[], depth1 = false): any[] {
- const result: any[] = [];
- for (const item of json) {
- let value: any = null;
- if (typeof item !== 'object' || item === null) {
- value = item;
- } else if (Array.isArray(item)) {
- value = depth1 ? item.toString() : ParseJArray2List(item);
- } else {
- value = depth1 ? JSON.stringify(item) : ParseJObject2Dictionary(item);
- }
- result.push(value);
- }
- return result;
- }
|