diff src/luan/Luan.java @ 1802:ca98dee04e08 default tip

add Parsers.json_null
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 21 Apr 2024 21:25:15 -0600
parents 8df0b80e715e
children
line wrap: on
line diff
--- a/src/luan/Luan.java	Tue Mar 12 09:28:39 2024 -0600
+++ b/src/luan/Luan.java	Sun Apr 21 21:25:15 2024 -0600
@@ -423,14 +423,16 @@
 		return load(text,sourceName,persist,null);
 	}
 
-	public static Object toJava(Object obj) throws LuanException {
+	public static Object toJava(Object obj,Object nullValue) throws LuanException {
+		if( obj == nullValue )
+			return null;
 		if( !(obj instanceof LuanTable) )
 			return obj;
 		LuanTable tbl = (LuanTable)obj;
 		if( !tbl.isMap() ) {
 			List list = new ArrayList();
 			for( Object el : tbl.asList() ) {
-				list.add( toJava(el) );
+				list.add( toJava(el,nullValue) );
 			}
 			return list;
 		} else {
@@ -438,7 +440,7 @@
 			Iterator<Map.Entry> iter = tbl.rawIterator();
 			while( iter.hasNext() ) {
 				Map.Entry entry = iter.next();
-				map.put( toJava(entry.getKey()), toJava(entry.getValue()) );
+				map.put( toJava(entry.getKey(),nullValue), toJava(entry.getValue(),nullValue) );
 			}
 			return map;
 		}