invalid 
invalid   
invalid "
invalid [,]
invalid [)
invalid []]
invalid [}
invalid {,}
invalid {]
invalid ["1":2]
invalid [1,2,]
invalid [1:2}
invalid {"1":2,}
invalid {1:2}
invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], [7 ]}]}
invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], [7]}]}
invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}]
invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}]]
invalid {"1":2, "3":4
invalid "1\u2"
invalid [,2]
invalid "3
invalid "3" "4"
invalid [3[4]
invalid [3[4]]
invalid [3, [4, [5], 6] 7, 8 9]
invalid [3, [4, [5], 6] 7, 8, 9]
invalid [3, [4, [5], 6], 7, 8 9]
invalid {"hello":true, "bye":false, null}
invalid {"hello":true, "bye":false, null:null}
invalid "hi
invalid "hi"""
invalid {"hi": "bye"]
invalid "\uD800\uD800"
invalid "\uD800\uDBFF"
invalid "\UD834\UDD1E"
invalid "\uDB00"
invalid "\uDB00\uDBFF"
valid "\uFFFE"
valid "\uFFFF"
invalid .
valid ""
valid []
valid {}
invalid +.
valid 0.5
invalid 0.e1
valid {"1":{}}
valid {"1":2}
valid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"]}]}
valid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}]}
valid 1234
valid -1234
valid {"1":2, "3":4}
invalid +1234
invalid ++1234
valid 123.456e142
valid 123.456e-142
valid 123.456e+142
invalid 123.e-142
valid "1\u2000"
valid "1\u20001"
valid 2
invalid .246e-142
invalid .2e-142
valid 3
invalid .3
valid "3"
valid [3]
invalid +3.
valid 3.2e+1
valid [3, [4]]
valid [3, [4, [5]]]
valid [3, [4, [5], 6]]
valid [3, [4, [5], 6], 7]
valid [3, [4, [5], 6], 7, 8]
valid [3, [4, [5], 6], 7, 8, 9]
invalid +3.5
invalid .3e
invalid .3e1
invalid .3e-1
invalid .3e+1
invalid 3.e1
invalid 3.e+1
valid 3e+1
invalid .5
invalid +.5
invalid .5e+1
valid [ 7]
valid [7 ]
valid [7]
invalid .e-14234
valid "hello"
valid ["hello"]
valid ["hello", "bye"]
valid ["hello", "bye\n"]
valid ["hello", "bye\n\r\t"]
valid ["hello", "bye\n\r\t\b"]
valid ["hello", "bye\n\r\t\b",true]
valid ["hello", "bye\n\r\t\b",true , false]
valid ["hello", "bye\n\r\t\b",true , false,    null]
invalid ["hello", "bye\n\r\t\v"]
valid {"hello":true}
valid {"hello":true, "bye":false}
valid {"hello":true, "bye":false, "foo":["one","two","three"]}
valid "hi"
valid ["hi"]
valid ["hi", "bye"]
valid {"hi": "bye"}
valid ["hi", "bye", 3]
valid ["hi", "bye[", 3]
valid "\u0007"
valid "\u0008"
valid "\u0009"
valid "\u0010"
valid "\u0020"
valid "\u10000"
valid "\u1234"
valid "\u99999"
valid "\ud800\udc00"
valid "\uD800\uDC00"
valid "\uD834\uDD1E"
valid "\uDBFF\uDFFF"
valid "\uFFFD"
valid "\uFFFF"
invalid hello
valid [32, 1]
invalid [32, 
valid "\uD800\uDC00"
valid "\n"
valid "hello"
valid "hello\u0009world"
valid "hello"
valid "hello\n"
valid "hello"
valid 3
invalid 3.
invalid .3
valid 0.3
invalid 0.3e
invalid 0.3e+
valid 0.3e+5
valid 0.3e-5
valid 0.3e5
valid "hello"
invalid +3
valid -3
invalid -3.
valid -3.1
invalid .5
invalid 5.
invalid 5.e1
valid 0.5
invalid .3e1
invalid .3e+1
invalid .3e-1
invalid .3e-1 .5
invalid .3e-1.5
invalid .3e+1.5
invalid .3e+.
invalid .3e+.5
invalid .3e+1.5
invalid 9.3e+1.5
invalid 9.e+1.5
invalid 9.e+
invalid 9.e+1
valid "\""
valid "\"3.5"
valid "\"."
invalid "\".".
valid "\"....."
invalid "\"\"\"\"""
invalid ["\"\"\"\"", .5]
invalid [.5]
valid ["\"\"\"\"", 0.5]
invalid ["\"\"\"\"", .5]
invalid ["\"\"\"\"",.5]
invalid ["\"",.5]
invalid ["\".5",.5]
invalid ["\".5",".5\"".5]
invalid ["\".5",".5\"", .5]
invalid ["\".5",".5\"",.5]
valid ["\".5",".5\"",0.5]
invalid {"key":/*comment*/"value"}
invalid {"key":/*comment"value"}
invalid {"key":"value"}/*
invalid {"key":"value"}/**/
invalid {"key":"value"}/***/
invalid {"key":"value"}/**//
invalid {"key":"value"}/**///
invalid {"key":"value"}/**///----
invalid {"key":"value"}#
invalid {"key":"value"}#{
invalid {"key":"value"}#{}
invalid {"key":"value"}#,
invalid {"key":"value"/**/, "k2":"v2"}
valid "\u0027"
invalid "hello\'"
invalid 'hello\''
invalid 'hello'
invalid 'hell\'o'
invalid '\'hello'
invalid '\'hello\''
invalid \'hello\'
invalid 'hello\'
invalid ['hello\']
invalid ['hello\'']
invalid ['hello"']
invalid ['hello\"']
invalid ['hello"o']
invalid ['"']
invalid '"'
invalid '"hello"'
invalid '"hello'
invalid '"hi"'
valid 	 [ 1 , 2 , 3 ]    
invalid nil
invalid fals
invalid falsify
invalid falsetto
invalid truism
invalid {"key"
invalid {"key","key2":value}
invalid "\u0000"
