@@ -68,6 +68,10 @@ export class SAFlutterUtils extends Object {
6868 * */
6969 static mapToJsonObject < K extends string , V > ( map : Map < K , V > ) : Record < K , V > {
7070 const obj : Record < K , V > = { } as Record < K , V > ;
71+ // 增加合法性判断
72+ if ( map == null || ! ( map instanceof Map ) || map . size === 0 ) {
73+ return obj ;
74+ }
7175 map . forEach ( ( value , key ) => {
7276 obj [ key ] = value ; //逐项赋值
7377 } ) ;
@@ -81,20 +85,30 @@ export class SAFlutterUtils extends Object {
8185 * */
8286 static convertMapToJsonObject ( map : SAFlutterNestedMap ) : SAFlutterNestedObject {
8387 const result : SAFlutterNestedObject = { } ;
84- map . forEach ( ( value , key ) => {
85- if ( value instanceof Map ) {
86- // 递归处理嵌套Map
87- result [ key ] = SAFlutterUtils . convertMapToJsonObject ( value ) ;
88- } else if ( Array . isArray ( value ) ) {
89- // 处理数组中的Map元素
90- result [ key ] = value . map ( item =>
91- item instanceof Map ? SAFlutterUtils . convertMapToJsonObject ( item ) : item
92- ) ;
93- } else {
94- // 基础类型直接赋值
95- result [ key ] = value ;
96- }
97- } ) ;
88+ // 增加合法性判断
89+ if ( map == null || ! ( map instanceof Map ) || map . size === 0 ) {
90+ return result ;
91+ }
92+ try {
93+ map . forEach ( ( value , key ) => {
94+ if ( value instanceof Map ) {
95+ // 递归处理嵌套Map
96+ result [ key ] = SAFlutterUtils . convertMapToJsonObject ( value ) ;
97+ } else if ( Array . isArray ( value ) ) {
98+ // 处理数组中的Map元素
99+ result [ key ] = value . map ( item =>
100+ item instanceof Map ? SAFlutterUtils . convertMapToJsonObject ( item ) : item
101+ ) ;
102+ } else {
103+ // 基础类型直接赋值
104+ result [ key ] = value ;
105+ }
106+ } ) ;
107+ } catch ( err ) {
108+ console . error ( "convertMapToJsonObject: exception caught" , err ) ;
109+ return result ;
110+ }
111+
98112 return result ;
99113 }
100114}
0 commit comments