diff --git a/contrib/json/json-writer.factor b/contrib/json/json-writer.factor index b87ed4d20f..0b75c541f5 100644 --- a/contrib/json/json-writer.factor +++ b/contrib/json/json-writer.factor @@ -71,4 +71,13 @@ M: sequence json-print ( array -- string ) ] 2map ; M: object json-print ( object -- string ) - CHAR: { write1 slots slots>fields "," join write CHAR: } write1 ; \ No newline at end of file + CHAR: { write1 slots slots>fields "," join write CHAR: } write1 ; + +: hash-map ( hashtable quot -- array ) + >r hash>alist r> [ dup first swap second ] swap append map ; + +M: hashtable json-print ( hashtable -- string ) + CHAR: { write1 + [ [ swap jsvar-encode >json % CHAR: : , >json % ] "" make ] hash-map "," join write + CHAR: } write1 ; + \ No newline at end of file