if (tokens[i++]["text"] != "{")
return 0;
- do {
- delete k
- delete v
- if (!(i=json_parse_value(tokens, i, k, 0)))
- return 0
- if (tokens[i++]["text"] != ":")
- return 0
- if (!(i=json_parse_value(tokens, i, v, 0)))
- return 0
- json_copy(object, k[0], v[0])
- } while (tokens[i++]["text"] == ",")
- i--
+ if (tokens[i]["text"] != "}") {
+ do {
+ delete k
+ delete v
+ if (!(i=json_parse_value(tokens, i, k, 0)))
+ return 0
+ if (tokens[i++]["text"] != ":")
+ return 0
+ if (!(i=json_parse_value(tokens, i, v, 0)))
+ return 0
+ json_copy(object, k[0], v[0])
+ } while (tokens[i++]["text"] == ",")
+ i--
+ }
if (tokens[i++]["text"] != "}")
return 0;
if (tokens[i++]["text"] != "[")
return 0;
- do {
- delete v
- if (!(i=json_parse_value(tokens, i, v, 0)))
- return 0
- json_copy(array, k++, v[0])
- } while (tokens[i++]["text"] == ",")
- i--
+ if (tokens[i]["text"] != "]") {
+ do {
+ delete v
+ if (!(i=json_parse_value(tokens, i, v, 0)))
+ return 0
+ json_copy(array, k++, v[0])
+ } while (tokens[i++]["text"] == ",")
+ i--
+ }
if (tokens[i++]["text"] != "]")
return 0;
" false, \n" \
" null ], \n" \
" \"number\": 42, \n" \
+ " \"eobj\": [ ], \n" \
+ " \"earr\": { }, \n" \
" \"obj\": { \"A\": \"a!\", \n" \
" \"B\": \"b!\", \n" \
" \"C\": \"c!\" }, \n" \