From 3b8a092f36acfe00ebc51e21d89549c4b79cf33f Mon Sep 17 00:00:00 2001 From: ValKmjolnir Date: Fri, 11 Mar 2022 15:26:38 +0800 Subject: [PATCH] fix bug in test/json.nas --- test/json.nas | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/json.nas b/test/json.nas index 5d65e47..8e70a08 100644 --- a/test/json.nas +++ b/test/json.nas @@ -228,7 +228,10 @@ var JSON=func(){ var member=func(hash) { var name=token.content; - match(j_id); + if(token.type==j_str) + match(j_str); + else + match(j_id); match(j_colon); if(token.type==j_lbrace) hash[name]=hash_gen(); @@ -244,6 +247,8 @@ var JSON=func(){ return { parse:func(str) { + if(typeof(str)!="str") + die("JSON.parse: must use string"); get(str); next(); @@ -261,6 +266,8 @@ var JSON=func(){ return res; }, stringify:func(hash){ + if(typeof(hash)!="hash") + die("JSON.stringify: must use hashmap"); var s=""; var gen=func(elem){ var t=typeof(elem); @@ -304,21 +311,14 @@ var JSON=func(){ }(); var ss=JSON.stringify({ - vec:[ - 0, - 1, - 2 - ], + vec:[0,1,2], hash:{ m1:0, m2:"str", m3:[114514], - m4:{ - year:1919, - month:8, - date:10 - } - } + m4:{year:1919,month:8,date:10} + }, + function:func(){} }); println(ss); println(JSON.parse(ss)); \ No newline at end of file