Mercurial Hosting > luan
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; }