diff options
-rw-r--r-- | lib/zambyte/meta/json.sld | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/zambyte/meta/json.sld b/lib/zambyte/meta/json.sld index f305319..500b7a0 100644 --- a/lib/zambyte/meta/json.sld +++ b/lib/zambyte/meta/json.sld @@ -71,8 +71,10 @@ from-json-string)) (define (predicate obj) - (and (json-record? obj) - (eq? (json-record->name obj) 'type))) + (cond + ((json-record? obj) (eq? (json-record->name obj) 'type)) + ((json-object? obj) (and (json-object-contains-key? obj 'fields) ...)) + (else #f))) (define (from-json-string str) (let ((json (string->json str))) |