Commits

John Marsden committed 3b78ab3

Remove results.json

Comments (0)

Files changed (2)

 ^target$
 release.properties
 pom.xml.releaseBackup
-
+results.json

results.json

-{"tests":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"results":[{"library":{"url":"http:\/\/argo.sourceforge.net\/","name":"Argo","version":"2.8"},"result":{"testSuite":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"testLibrary":{"url":"http:\/\/argo.sourceforge.net\/","name":"Argo","version":"2.8"},"_entries":[{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},"_entries":[{"parseTimeAverage":3761,"toJSONTimeAverage":2471,"input":"{}","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Object"},"executionTimeAverage":2514,"description":"Empty Object"},{"parseTimeAverage":2160,"toJSONTimeAverage":1655,"input":"[]","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Array"},"executionTimeAverage":3073,"description":"Empty Array"},{"parseTimeAverage":6927,"toJSONTimeAverage":10388,"input":"{\"v\":1337}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Integer"},"executionTimeAverage":9778,"description":"Simple Integer"},{"parseTimeAverage":5023,"toJSONTimeAverage":8317,"input":"{\"v\":-5678}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Integer"},"executionTimeAverage":10336,"description":"Simple Negative Integer"},{"parseTimeAverage":4805,"toJSONTimeAverage":7649,"input":"{\"v\":3.1415}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Decimal"},"executionTimeAverage":9498,"description":"Simple Decimal"},{"parseTimeAverage":4641,"toJSONTimeAverage":7822,"input":"{\"v\":-0.01223}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Decimal"},"executionTimeAverage":9497,"description":"Simple Negative Decimal"},{"parseTimeAverage":2762,"toJSONTimeAverage":11966,"input":"{\"v\":\"String\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Value"},"executionTimeAverage":12013,"description":"Simple String Value"},{"parseTimeAverage":5467,"toJSONTimeAverage":7891,"input":"{\"PI\":3.141E100}","result":"PASS","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},"executionTimeAverage":10616,"description":"Exponent Decimal Value Uppercase"},{"parseTimeAverage":5704,"toJSONTimeAverage":7813,"input":"{\"PI\":3.141e-99}","result":"PASS","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},"executionTimeAverage":10616,"description":"Exponent Decimal Value Lowercase"},{"parseTimeAverage":3330,"toJSONTimeAverage":7504,"input":"{\"v\":true}","result":"PASS","test":{"expectedOutputError":false,"description":"True Value"},"executionTimeAverage":11734,"description":"True Value"},{"parseTimeAverage":2671,"toJSONTimeAverage":6994,"input":"{\"v\":false}","result":"PASS","test":{"expectedOutputError":false,"description":"False Value"},"executionTimeAverage":7822,"description":"False Value"},{"parseTimeAverage":2719,"toJSONTimeAverage":6948,"input":"{\"v\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Null Value"},"executionTimeAverage":8940,"description":"Null Value"},{"parseTimeAverage":5900,"toJSONTimeAverage":7177,"input":"{\"v\":123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Int Value"},"executionTimeAverage":11174,"description":"Large Int Value"},{"parseTimeAverage":18713,"toJSONTimeAverage":7628,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Int Value"},"executionTimeAverage":34082,"description":"Huge Int Value"},{"parseTimeAverage":8214,"toJSONTimeAverage":8204,"input":"{\"v\":123456789123456789123456789.123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Double Value"},"executionTimeAverage":12571,"description":"Large Double Value"},{"parseTimeAverage":31198,"toJSONTimeAverage":8585,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Double Value"},"executionTimeAverage":37714,"description":"Huge Double Value"},{"parseTimeAverage":3657,"toJSONTimeAverage":12495,"input":"{\"v\":\"\\u2000\\u20ff\"}","result":"PASS","output":"{\"v\":\"\u2000\u20ff\"}","test":{"expectedOutputError":false,"description":"Lowecase Unicode"},"executionTimeAverage":12851,"description":"Lowecase Unicode"},{"parseTimeAverage":3694,"toJSONTimeAverage":12808,"input":"{\"v\":\"\\u2000\\u20FF\"}","result":"PASS","output":"{\"v\":\"\u2000\u20ff\"}","test":{"expectedOutputError":false,"description":"Uppercase Unicode"},"executionTimeAverage":14527,"description":"Uppercase Unicode"},{"parseTimeAverage":3635,"toJSONTimeAverage":12930,"input":"{\"v\":\"\\ud801\\udc01\"}","result":"PASS","output":"{\"v\":\"\ud801\udc01\"}","test":{"expectedOutputError":false,"description":"Surrogate Pair Unicode"},"executionTimeAverage":12292,"description":"Surrogate Pair Unicode"},{"parseTimeAverage":8829,"toJSONTimeAverage":1859,"input":"[1,2,3,4,5]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Number Array"},"executionTimeAverage":8381,"description":"Simple Number Array"},{"parseTimeAverage":16035,"toJSONTimeAverage":2443,"input":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","result":"PASS","test":{"expectedOutputError":false,"description":"Complex Number Array"},"executionTimeAverage":31289,"description":"Complex Number Array"},{"parseTimeAverage":3783,"toJSONTimeAverage":25581,"input":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Array"},"executionTimeAverage":24025,"description":"Simple String Array"},{"parseTimeAverage":4036,"toJSONTimeAverage":2179,"input":"[true,true,false,false,true,false]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Boolean Array"},"executionTimeAverage":5867,"description":"Simple Boolean Array"},{"parseTimeAverage":8378,"toJSONTimeAverage":4538,"input":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Array Array"},"executionTimeAverage":11174,"description":"Deep Array Array"},{"parseTimeAverage":8877,"toJSONTimeAverage":36513,"input":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":42184,"description":"Deep Object Object"},{"parseTimeAverage":10776,"toJSONTimeAverage":21253,"input":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Mixed Object"},"executionTimeAverage":25981,"description":"Mixed Object"}]},{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},"_entries":[{"parseTimeAverage":0,"input":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","result":"ERROR","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$1","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$1","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":457600,"description":"Empty Object With Whitespace"},{"parseTimeAverage":0,"input":" \t\r\n\t {}","result":"ERROR","test":{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object With Whitespace Before"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$2","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":63,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$2","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":63,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":20673,"description":"Empty Object With Whitespace Before"},{"parseTimeAverage":1895,"toJSONTimeAverage":1584,"input":"{ \t\r\n\t }","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace During"},"executionTimeAverage":2794,"description":"Empty Object With Whitespace During"},{"parseTimeAverage":1634,"toJSONTimeAverage":1323,"input":"{} \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace After"},"executionTimeAverage":2514,"description":"Empty Object With Whitespace After"},{"parseTimeAverage":0,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","result":"ERROR","test":{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array With Whitespace"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$5","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$5","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":22908,"description":"Empty Array With Whitespace"},{"parseTimeAverage":0,"input":" \t\r\n\t []","result":"ERROR","test":{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array With Whitespace Before"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$6","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":107,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$6","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":107,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":26261,"description":"Empty Array With Whitespace Before"},{"parseTimeAverage":1673,"toJSONTimeAverage":1255,"input":"[ \t\r\n\t ]","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With During"},"executionTimeAverage":2235,"description":"Empty Array With During"},{"parseTimeAverage":1687,"toJSONTimeAverage":1236,"input":"[] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace After"},"executionTimeAverage":2235,"description":"Empty Array With Whitespace After"},{"parseTimeAverage":0,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","result":"ERROR","test":{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array With Whitespace"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$9","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":140,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$9","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":140,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":25422,"description":"Simple Number Array With Whitespace"},{"parseTimeAverage":0,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","result":"ERROR","test":{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array With Whitespace"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$10","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":151,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$10","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":151,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":28216,"description":"Simple String Array With Whitespace"},{"parseTimeAverage":0,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","result":"ERROR","test":{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array With Whitespace"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$11","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":162,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$11","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":162,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":17320,"description":"Simple Boolean Array With Whitespace"},{"parseTimeAverage":0,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","result":"ERROR","test":{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array With Whitespace"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$12","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":173,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$12","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":173,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":17042,"description":"Complex Number Array With Whitespace"},{"parseTimeAverage":15321,"toJSONTimeAverage":4656,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","result":"PASS","output":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","test":{"expectedOutputError":false,"description":"Deep Array Array With Whitespace"},"executionTimeAverage":16204,"description":"Deep Array Array With Whitespace"},{"parseTimeAverage":13073,"toJSONTimeAverage":37539,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":46374,"description":"Deep Object Object"}]},{"testSet":{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},"_entries":[{"parseTimeAverage":0,"result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [\uffff].","test":{"expectedOutputError":true,"description":"Empty String"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [\uffff].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":26540,"description":"Empty String"},{"parseTimeAverage":0,"input":"{","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 2:  Expected object identifier to begin with [\"] but got [\uffff].","test":{"expectedOutputError":true,"description":"Open Object"},"exception":{"libraryException":{"line":1,"column":2,"message":"At line 1, column 2:  Expected object identifier to begin with [\"] but got [\uffff].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":129,"methodName":"aFieldToken","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":107,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":78501,"description":"Open Object"},{"parseTimeAverage":0,"input":"[","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 2:  Invalid character at start of value [\uffff].","test":{"expectedOutputError":true,"description":"Open Array"},"exception":{"libraryException":{"line":1,"column":2,"message":"At line 1, column 2:  Invalid character at start of value [\uffff].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":201,"methodName":"aJsonValue","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":79,"methodName":"arrayString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":58,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":85207,"description":"Open Array"},{"parseTimeAverage":0,"input":"{\"v\":1234","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 10:  Expected either , or } but got [\uffff].","test":{"expectedOutputError":true,"description":"Unclosed Object"},"exception":{"libraryException":{"line":1,"column":10,"message":"At line 1, column 10:  Expected either , or } but got [\uffff].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":120,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":91073,"description":"Unclosed Object"},{"parseTimeAverage":0,"input":"{\"v\":1234}$ifsisg045","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 11:  Got unexpected trailing character [$].","test":{"expectedOutputError":true,"description":"Object with trailing junk"},"exception":{"libraryException":{"line":1,"column":11,"message":"At line 1, column 11:  Got unexpected trailing character [$].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":65,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$5","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":85,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$5","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":85,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":71517,"description":"Object with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4]$ifsisg045","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 10:  Got unexpected trailing character [$].","test":{"expectedOutputError":true,"description":"Array with trailing junk"},"exception":{"libraryException":{"line":1,"column":10,"message":"At line 1, column 10:  Got unexpected trailing character [$].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":65,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$6","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$6","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":34921,"description":"Array with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 9:  Expected either , or ] but got [\uffff].","test":{"expectedOutputError":true,"description":"Unclosed Array"},"exception":{"libraryException":{"line":1,"column":9,"message":"At line 1, column 9:  Expected either , or ] but got [\uffff].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":92,"methodName":"arrayString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":58,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":79061,"description":"Unclosed Array"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\tAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Tab in JSON String"},"executionTimeAverage":134094,"description":"Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u0009After\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Tab in JSON String"},"executionTimeAverage":34361,"description":"Unicode Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\nAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Newline in JSON String"},"executionTimeAverage":27378,"description":"Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000AAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Newline in JSON String"},"executionTimeAverage":34362,"description":"Unicode Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\rAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Return in JSON String"},"executionTimeAverage":26819,"description":"Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000DAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Return in JSON String"},"executionTimeAverage":31009,"description":"Unicode Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\fAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":29612,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000CAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":31568,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"array\":[1,2],\"array\":[3,4]}","result":"FAIL","output":"{\"array\":[3,4]}","test":{"expectedOutputError":true,"description":"Same Key Behaviour"},"executionTimeAverage":43861,"description":"Same Key Behaviour"},{"parseTimeAverage":0,"input":"{\"v\":1234567890987654321E234E343}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 29:  Expected either , or } but got [E].","test":{"expectedOutputError":true,"description":"Double Exponent Number"},"exception":{"libraryException":{"line":1,"column":29,"message":"At line 1, column 29:  Expected either , or } but got [E].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":120,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":114260,"description":"Double Exponent Number"},{"parseTimeAverage":0,"input":"{\"v\":12345678909876A}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 20:  Expected either , or } but got [A].","test":{"expectedOutputError":true,"description":"Likely Number"},"exception":{"libraryException":{"line":1,"column":20,"message":"At line 1, column 20:  Expected either , or } but got [A].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":120,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":189131,"description":"Likely Number"},{"parseTimeAverage":0,"input":"{\"v\":TRUE}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 6:  Invalid character at start of value [T].","test":{"expectedOutputError":true,"description":"Uppercase True"},"exception":{"libraryException":{"line":1,"column":6,"message":"At line 1, column 6:  Invalid character at start of value [T].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":201,"methodName":"aJsonValue","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":137,"methodName":"aFieldToken","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":107,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":27658,"description":"Uppercase True"},{"parseTimeAverage":0,"input":"{\"v\":FALSE}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 6:  Invalid character at start of value [F].","test":{"expectedOutputError":true,"description":"Uppercase False"},"exception":{"libraryException":{"line":1,"column":6,"message":"At line 1, column 6:  Invalid character at start of value [F].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":201,"methodName":"aJsonValue","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":137,"methodName":"aFieldToken","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":107,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":25701,"description":"Uppercase False"},{"parseTimeAverage":0,"input":"{\"v\":NULL}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 6:  Invalid character at start of value [N].","test":{"expectedOutputError":true,"description":"Uppercase Null"},"exception":{"libraryException":{"line":1,"column":6,"message":"At line 1, column 6:  Invalid character at start of value [N].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":201,"methodName":"aJsonValue","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":137,"methodName":"aFieldToken","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":107,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":19276,"description":"Uppercase Null"},{"parseTimeAverage":0,"input":"{\"v\":trUe}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 6:  Expected 't' to be followed by [[r, u, e]], but got [[r, U, e]].","test":{"expectedOutputError":true,"description":"Mixed Case True"},"exception":{"libraryException":{"line":1,"column":6,"message":"At line 1, column 6:  Expected 't' to be followed by [[r, u, e]], but got [[r, U, e]].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":153,"methodName":"aJsonValue","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":137,"methodName":"aFieldToken","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":107,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":116216,"description":"Mixed Case True"},{"parseTimeAverage":0,"input":"{\"v\":faLse}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 6:  Expected 'f' to be followed by [[a, l, s, e]], but got [[a, L, s, e]].","test":{"expectedOutputError":true,"description":"Mixed Case False"},"exception":{"libraryException":{"line":1,"column":6,"message":"At line 1, column 6:  Expected 'f' to be followed by [[a, l, s, e]], but got [[a, L, s, e]].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":163,"methodName":"aJsonValue","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":137,"methodName":"aFieldToken","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":107,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":58108,"description":"Mixed Case False"},{"parseTimeAverage":0,"input":"{\"v\":nuLl}","result":"PASS","output":"argo.saj.InvalidSyntaxException: At line 1, column 6:  Expected 'n' to be followed by [[u, l, l]], but got [[u, L, l]].","test":{"expectedOutputError":true,"description":"Mixed Case Null"},"exception":{"libraryException":{"line":1,"column":6,"message":"At line 1, column 6:  Expected 'n' to be followed by [[u, l, l]], but got [[u, L, l]].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":173,"methodName":"aJsonValue","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":137,"methodName":"aFieldToken","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":107,"methodName":"objectString","nativeMethod":false},{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":53,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":57829,"description":"Mixed Case Null"}]},{"testSet":{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]},"_entries":[{"parseTimeAverage":27968,"toJSONTimeAverage":85559,"input":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","result":"PASS","output":"{\"Image\":{\"Height\":600,\"IDs\":[116,943,234,38793],\"Thumbnail\":{\"Height\":125,\"Url\":\"http:\/\/www.example.com\/image\/481989943\",\"Width\":\"100\"},\"Title\":\"View from 15th Floor\",\"Width\":800}}","test":{"expectedOutputError":false,"description":"JSON Spec Example One"},"executionTimeAverage":85765,"description":"JSON Spec Example One"},{"parseTimeAverage":0,"input":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","result":"ERROR","test":{"expectedOutputError":false,"description":"JSON Spec Example Two"},"exception":{"libraryException":{"line":1,"message":"At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"argo.saj.SajParser","fileName":"saj:SajParser.java)","lineNumber":61,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"argo.jdom.JdomParser","fileName":"jdom:JdomParser.java)","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFDC4627RealExamples$2","fileName":"StrictRFDC4627RealExamples.java","lineNumber":124,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"argo.saj.InvalidSyntaxException: At line 1, column 1:  Expected either [ or { but got [ ].","stackTrace":[{"className":"cc.plural.json.library.ArgoLibrary","fileName":"ArgoLibrary.java","lineNumber":92,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFDC4627RealExamples$2","fileName":"StrictRFDC4627RealExamples.java","lineNumber":124,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":110628,"description":"JSON Spec Example Two"},{"parseTimeAverage":23503,"toJSONTimeAverage":141761,"input":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","result":"PASS","output":"{\"address\":{\"city\":\"New York\",\"postalCode\":\"10021\",\"state\":\"NY\",\"streetAddress\":\"21 2nd Street\"},\"age\":25,\"firstName\":\"John\",\"lastName\":\"Smith\",\"phoneNumber\":[{\"number\":\"212 555-1234\",\"type\":\"home\"},{\"number\":\"646 555-4567\",\"type\":\"fax\"}]}","test":{"expectedOutputError":false,"description":"Wikipedia JSON Page Example One"},"executionTimeAverage":130463,"description":"Wikipedia JSON Page Example One"}]}]}},{"library":{"url":"http:\/\/code.google.com\/p\/google-gson\/","name":"GSON","version":"0.7.1"},"result":{"testSuite":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"testLibrary":{"url":"http:\/\/code.google.com\/p\/google-gson\/","name":"GSON","version":"0.7.1"},"_entries":[{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},"_entries":[{"parseTimeAverage":6014,"toJSONTimeAverage":2572,"input":"{}","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Object"},"executionTimeAverage":5028,"description":"Empty Object"},{"parseTimeAverage":10228,"toJSONTimeAverage":5993,"input":"[]","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Array"},"executionTimeAverage":11733,"description":"Empty Array"},{"parseTimeAverage":7747,"toJSONTimeAverage":3083,"input":"{\"v\":1337}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Integer"},"executionTimeAverage":6705,"description":"Simple Integer"},{"parseTimeAverage":5845,"toJSONTimeAverage":2199,"input":"{\"v\":-5678}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Integer"},"executionTimeAverage":6705,"description":"Simple Negative Integer"},{"parseTimeAverage":9459,"toJSONTimeAverage":2961,"input":"{\"v\":3.1415}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Decimal"},"executionTimeAverage":10896,"description":"Simple Decimal"},{"parseTimeAverage":10223,"toJSONTimeAverage":2846,"input":"{\"v\":-0.01223}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Decimal"},"executionTimeAverage":9499,"description":"Simple Negative Decimal"},{"parseTimeAverage":6036,"toJSONTimeAverage":2514,"input":"{\"v\":\"String\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Value"},"executionTimeAverage":13130,"description":"Simple String Value"},{"parseTimeAverage":12797,"toJSONTimeAverage":3248,"input":"{\"PI\":3.141E100}","result":"PASS","output":"{\"PI\":3.141E+100}","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},"executionTimeAverage":12012,"description":"Exponent Decimal Value Uppercase"},{"parseTimeAverage":12008,"toJSONTimeAverage":2791,"input":"{\"PI\":3.141e-99}","result":"PASS","output":"{\"PI\":3.141E-99}","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},"executionTimeAverage":12292,"description":"Exponent Decimal Value Lowercase"},{"parseTimeAverage":6733,"toJSONTimeAverage":2176,"input":"{\"v\":true}","result":"PASS","test":{"expectedOutputError":false,"description":"True Value"},"executionTimeAverage":9219,"description":"True Value"},{"parseTimeAverage":6472,"toJSONTimeAverage":2175,"input":"{\"v\":false}","result":"PASS","test":{"expectedOutputError":false,"description":"False Value"},"executionTimeAverage":13410,"description":"False Value"},{"parseTimeAverage":5353,"toJSONTimeAverage":1587,"input":"{\"v\":null}","result":"FAIL","output":"{}","test":{"expectedOutputError":false,"description":"Null Value"},"executionTimeAverage":6425,"description":"Null Value"},{"parseTimeAverage":13476,"toJSONTimeAverage":4769,"input":"{\"v\":123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Int Value"},"executionTimeAverage":15086,"description":"Large Int Value"},{"parseTimeAverage":40012,"toJSONTimeAverage":35444,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Int Value"},"executionTimeAverage":75149,"description":"Huge Int Value"},{"parseTimeAverage":17174,"toJSONTimeAverage":6023,"input":"{\"v\":123456789123456789123456789.123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Double Value"},"executionTimeAverage":20394,"description":"Large Double Value"},{"parseTimeAverage":77662,"toJSONTimeAverage":79692,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Double Value"},"executionTimeAverage":136889,"description":"Huge Double Value"},{"parseTimeAverage":7015,"toJSONTimeAverage":2428,"input":"{\"v\":\"\\u2000\\u20ff\"}","result":"PASS","output":"{\"v\":\"\u2000\u20ff\"}","test":{"expectedOutputError":false,"description":"Lowecase Unicode"},"executionTimeAverage":6426,"description":"Lowecase Unicode"},{"parseTimeAverage":5392,"toJSONTimeAverage":2081,"input":"{\"v\":\"\\u2000\\u20FF\"}","result":"PASS","output":"{\"v\":\"\u2000\u20ff\"}","test":{"expectedOutputError":false,"description":"Uppercase Unicode"},"executionTimeAverage":19834,"description":"Uppercase Unicode"},{"parseTimeAverage":5607,"toJSONTimeAverage":2086,"input":"{\"v\":\"\\ud801\\udc01\"}","result":"PASS","output":"{\"v\":\"\ud801\udc01\"}","test":{"expectedOutputError":false,"description":"Surrogate Pair Unicode"},"executionTimeAverage":6426,"description":"Surrogate Pair Unicode"},{"parseTimeAverage":24738,"toJSONTimeAverage":12597,"input":"[1,2,3,4,5]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Number Array"},"executionTimeAverage":32405,"description":"Simple Number Array"},{"parseTimeAverage":57662,"toJSONTimeAverage":20605,"input":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","result":"PASS","output":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,3.4E+101,-3E-101]","test":{"expectedOutputError":false,"description":"Complex Number Array"},"executionTimeAverage":68723,"description":"Complex Number Array"},{"parseTimeAverage":22642,"toJSONTimeAverage":12686,"input":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Array"},"executionTimeAverage":36317,"description":"Simple String Array"},{"parseTimeAverage":32543,"toJSONTimeAverage":19687,"input":"[true,true,false,false,true,false]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Boolean Array"},"executionTimeAverage":46096,"description":"Simple Boolean Array"},{"parseTimeAverage":0,"input":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","result":"ERROR","test":{"expectedOutputError":false,"description":"Deep Array Array"},"exception":{"libraryException":{"message":"Type information is unavailable, and the target is not a primitive: []","stackTrace":[{"className":"com.google.gson.JsonArrayDeserializationVisitor","fileName":"JsonArrayDeserializationVisitor.java","lineNumber":108,"methodName":"visitPrimitive","nativeMethod":false},{"className":"com.google.gson.ObjectNavigator","fileName":"ObjectNavigator.java","lineNumber":116,"methodName":"accept","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationVisitor","fileName":"JsonDeserializationVisitor.java","lineNumber":110,"methodName":"visitChild","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationVisitor","fileName":"JsonDeserializationVisitor.java","lineNumber":106,"methodName":"visitChildAsArray","nativeMethod":false},{"className":"com.google.gson.JsonArrayDeserializationVisitor","fileName":"JsonArrayDeserializationVisitor.java","lineNumber":72,"methodName":"visitArray","nativeMethod":false},{"className":"com.google.gson.ObjectNavigator","fileName":"ObjectNavigator.java","lineNumber":112,"methodName":"accept","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationContextDefault","fileName":"JsonDeserializationContextDefault.java","lineNumber":67,"methodName":"fromJsonArray","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationContextDefault","fileName":"JsonDeserializationContextDefault.java","lineNumber":52,"methodName":"deserialize","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":551,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":498,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":467,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ParsingJSONTestSet$24","fileName":"StrictRFC4627ParsingJSONTestSet.java","lineNumber":305,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"com.google.gson.JsonParseException: Type information is unavailable, and the target is not a primitive: []","stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":116,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ParsingJSONTestSet$24","fileName":"StrictRFC4627ParsingJSONTestSet.java","lineNumber":305,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":265677,"description":"Deep Array Array"},{"parseTimeAverage":8026,"toJSONTimeAverage":5071,"input":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":18158,"description":"Deep Object Object"},{"parseTimeAverage":15630,"toJSONTimeAverage":5113,"input":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","result":"FAIL","output":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}]}","test":{"expectedOutputError":false,"description":"Mixed Object"},"executionTimeAverage":26261,"description":"Mixed Object"}]},{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},"_entries":[{"parseTimeAverage":4821,"toJSONTimeAverage":1593,"input":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace"},"executionTimeAverage":5587,"description":"Empty Object With Whitespace"},{"parseTimeAverage":4298,"toJSONTimeAverage":1377,"input":" \t\r\n\t {}","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace Before"},"executionTimeAverage":4748,"description":"Empty Object With Whitespace Before"},{"parseTimeAverage":4467,"toJSONTimeAverage":1409,"input":"{ \t\r\n\t }","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace During"},"executionTimeAverage":4749,"description":"Empty Object With Whitespace During"},{"parseTimeAverage":4445,"toJSONTimeAverage":1474,"input":"{} \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace After"},"executionTimeAverage":5029,"description":"Empty Object With Whitespace After"},{"parseTimeAverage":8439,"toJSONTimeAverage":4523,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace"},"executionTimeAverage":10895,"description":"Empty Array With Whitespace"},{"parseTimeAverage":8653,"toJSONTimeAverage":4731,"input":" \t\r\n\t []","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace Before"},"executionTimeAverage":11175,"description":"Empty Array With Whitespace Before"},{"parseTimeAverage":8375,"toJSONTimeAverage":4610,"input":"[ \t\r\n\t ]","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With During"},"executionTimeAverage":10616,"description":"Empty Array With During"},{"parseTimeAverage":8625,"toJSONTimeAverage":4735,"input":"[] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace After"},"executionTimeAverage":10896,"description":"Empty Array With Whitespace After"},{"parseTimeAverage":25170,"toJSONTimeAverage":13371,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[1,2,3,4,5]","test":{"expectedOutputError":false,"description":"Simple Number Array With Whitespace"},"executionTimeAverage":32406,"description":"Simple Number Array With Whitespace"},{"parseTimeAverage":23806,"toJSONTimeAverage":13181,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","test":{"expectedOutputError":false,"description":"Simple String Array With Whitespace"},"executionTimeAverage":31289,"description":"Simple String Array With Whitespace"},{"parseTimeAverage":33611,"toJSONTimeAverage":20107,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[true,true,false,false,true,false]","test":{"expectedOutputError":false,"description":"Simple Boolean Array With Whitespace"},"executionTimeAverage":46653,"description":"Simple Boolean Array With Whitespace"},{"parseTimeAverage":57468,"toJSONTimeAverage":20293,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","result":"PASS","output":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,3.4E+101,-3E-101]","test":{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array With Whitespace"},"executionTimeAverage":68723,"description":"Complex Number Array With Whitespace"},{"parseTimeAverage":0,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","result":"ERROR","test":{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array With Whitespace"},"exception":{"libraryException":{"message":"Type information is unavailable, and the target is not a primitive: []","stackTrace":[{"className":"com.google.gson.JsonArrayDeserializationVisitor","fileName":"JsonArrayDeserializationVisitor.java","lineNumber":108,"methodName":"visitPrimitive","nativeMethod":false},{"className":"com.google.gson.ObjectNavigator","fileName":"ObjectNavigator.java","lineNumber":116,"methodName":"accept","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationVisitor","fileName":"JsonDeserializationVisitor.java","lineNumber":110,"methodName":"visitChild","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationVisitor","fileName":"JsonDeserializationVisitor.java","lineNumber":106,"methodName":"visitChildAsArray","nativeMethod":false},{"className":"com.google.gson.JsonArrayDeserializationVisitor","fileName":"JsonArrayDeserializationVisitor.java","lineNumber":72,"methodName":"visitArray","nativeMethod":false},{"className":"com.google.gson.ObjectNavigator","fileName":"ObjectNavigator.java","lineNumber":112,"methodName":"accept","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationContextDefault","fileName":"JsonDeserializationContextDefault.java","lineNumber":67,"methodName":"fromJsonArray","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationContextDefault","fileName":"JsonDeserializationContextDefault.java","lineNumber":52,"methodName":"deserialize","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":551,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":498,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":467,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$13","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":184,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"com.google.gson.JsonParseException: Type information is unavailable, and the target is not a primitive: []","stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":116,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627WhiteSpaceParsingJSONTestSet$13","fileName":"StrictRFC4627WhiteSpaceParsingJSONTestSet.java","lineNumber":184,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":54196,"description":"Deep Array Array With Whitespace"},{"parseTimeAverage":8468,"toJSONTimeAverage":4901,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":11454,"description":"Deep Object Object"}]},{"testSet":{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},"_entries":[{"parseTimeAverage":0,"result":"FAIL","test":{"expectedOutputError":true,"description":"Empty String"},"executionTimeAverage":63137,"description":"Empty String"},{"parseTimeAverage":0,"input":"{","result":"PASS","output":"java.lang.ClassCastException: com.google.gson.JsonNull cannot be cast to com.google.gson.JsonObject","test":{"expectedOutputError":true,"description":"Open Object"},"exception":{"libraryException":{"message":"com.google.gson.JsonNull cannot be cast to com.google.gson.JsonObject","stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":94,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":153930,"description":"Open Object"},{"parseTimeAverage":0,"input":"[","result":"PASS","output":"com.google.gson.JsonIOException: java.io.EOFException: End of input","test":{"expectedOutputError":true,"description":"Open Array"},"exception":{"libraryException":{"cause":{"message":"End of input","stackTrace":[{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":887,"methodName":"nextNonWhitespace","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":688,"methodName":"nextInArray","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":371,"methodName":"quickPeek","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":332,"methodName":"hasNext","nativeMethod":false},{"className":"com.google.gson.Streams","fileName":"Streams.java","lineNumber":74,"methodName":"parseRecursive","nativeMethod":false},{"className":"com.google.gson.Streams","fileName":"Streams.java","lineNumber":40,"methodName":"parse","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":497,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":467,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"java.io.EOFException: End of input","stackTrace":[{"className":"com.google.gson.Streams","fileName":"Streams.java","lineNumber":49,"methodName":"parse","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":497,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":467,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":116,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":44419,"description":"Open Array"},{"parseTimeAverage":0,"input":"{\"v\":1234","result":"PASS","output":"java.lang.ClassCastException: com.google.gson.JsonNull cannot be cast to com.google.gson.JsonObject","test":{"expectedOutputError":true,"description":"Unclosed Object"},"exception":{"libraryException":{"message":"com.google.gson.JsonNull cannot be cast to com.google.gson.JsonObject","stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":94,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":59784,"description":"Unclosed Object"},{"parseTimeAverage":0,"input":"{\"v\":1234}$ifsisg045","result":"PASS","output":"com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected EOF near ","test":{"expectedOutputError":true,"description":"Object with trailing junk"},"exception":{"libraryException":{"cause":{"message":"Expected EOF near ","stackTrace":[{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":1111,"methodName":"syntaxError","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":386,"methodName":"quickPeek","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":340,"methodName":"peek","nativeMethod":false},{"className":"com.google.gson.JsonParser","fileName":"JsonParser.java","lineNumber":59,"methodName":"parse","nativeMethod":false},{"className":"com.google.gson.JsonParser","fileName":"JsonParser.java","lineNumber":44,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$5","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":85,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"com.google.gson.stream.MalformedJsonException: Expected EOF near ","stackTrace":[{"className":"com.google.gson.JsonParser","fileName":"JsonParser.java","lineNumber":64,"methodName":"parse","nativeMethod":false},{"className":"com.google.gson.JsonParser","fileName":"JsonParser.java","lineNumber":44,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$5","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":85,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":94,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$5","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":85,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":247238,"description":"Object with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4]$ifsisg045","result":"PASS","output":"com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected EOF near ","test":{"expectedOutputError":true,"description":"Array with trailing junk"},"exception":{"libraryException":{"cause":{"message":"Expected EOF near ","stackTrace":[{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":1111,"methodName":"syntaxError","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":386,"methodName":"quickPeek","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":340,"methodName":"peek","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":474,"methodName":"assertFullConsumption","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":468,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$6","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"com.google.gson.stream.MalformedJsonException: Expected EOF near ","stackTrace":[{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":478,"methodName":"assertFullConsumption","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":468,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$6","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":116,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$6","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":73753,"description":"Array with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4","result":"PASS","output":"com.google.gson.JsonIOException: java.io.EOFException: End of input","test":{"expectedOutputError":true,"description":"Unclosed Array"},"exception":{"libraryException":{"cause":{"message":"End of input","stackTrace":[{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":887,"methodName":"nextNonWhitespace","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":674,"methodName":"nextInArray","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":373,"methodName":"quickPeek","nativeMethod":false},{"className":"com.google.gson.stream.JsonReader","fileName":"JsonReader.java","lineNumber":332,"methodName":"hasNext","nativeMethod":false},{"className":"com.google.gson.Streams","fileName":"Streams.java","lineNumber":74,"methodName":"parseRecursive","nativeMethod":false},{"className":"com.google.gson.Streams","fileName":"Streams.java","lineNumber":40,"methodName":"parse","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":497,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":467,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"java.io.EOFException: End of input","stackTrace":[{"className":"com.google.gson.Streams","fileName":"Streams.java","lineNumber":49,"methodName":"parse","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":497,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":467,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":116,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":31568,"description":"Unclosed Array"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\tAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Tab in JSON String"},"executionTimeAverage":43302,"description":"Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u0009After\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Tab in JSON String"},"executionTimeAverage":28775,"description":"Unicode Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\nAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Newline in JSON String"},"executionTimeAverage":30451,"description":"Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000AAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Newline in JSON String"},"executionTimeAverage":18717,"description":"Unicode Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\rAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Return in JSON String"},"executionTimeAverage":25142,"description":"Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000DAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Return in JSON String"},"executionTimeAverage":21511,"description":"Unicode Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\fAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":31009,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000CAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":22069,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"array\":[1,2],\"array\":[3,4]}","result":"FAIL","output":"{\"array\":[3,4]}","test":{"expectedOutputError":true,"description":"Same Key Behaviour"},"executionTimeAverage":32686,"description":"Same Key Behaviour"},{"parseTimeAverage":0,"input":"{\"v\":1234567890987654321E234E343}","result":"FAIL","output":"{\"v\":\"1234567890987654321E234E343\"}","test":{"expectedOutputError":true,"description":"Double Exponent Number"},"executionTimeAverage":57829,"description":"Double Exponent Number"},{"parseTimeAverage":0,"input":"{\"v\":12345678909876A}","result":"FAIL","output":"{\"v\":\"12345678909876A\"}","test":{"expectedOutputError":true,"description":"Likely Number"},"executionTimeAverage":21511,"description":"Likely Number"},{"parseTimeAverage":0,"input":"{\"v\":TRUE}","result":"FAIL","output":"{\"v\":true}","test":{"expectedOutputError":true,"description":"Uppercase True"},"executionTimeAverage":19556,"description":"Uppercase True"},{"parseTimeAverage":0,"input":"{\"v\":FALSE}","result":"FAIL","output":"{\"v\":false}","test":{"expectedOutputError":true,"description":"Uppercase False"},"executionTimeAverage":21511,"description":"Uppercase False"},{"parseTimeAverage":0,"input":"{\"v\":NULL}","result":"FAIL","output":"{}","test":{"expectedOutputError":true,"description":"Uppercase Null"},"executionTimeAverage":21511,"description":"Uppercase Null"},{"parseTimeAverage":0,"input":"{\"v\":trUe}","result":"FAIL","output":"{\"v\":true}","test":{"expectedOutputError":true,"description":"Mixed Case True"},"executionTimeAverage":25143,"description":"Mixed Case True"},{"parseTimeAverage":0,"input":"{\"v\":faLse}","result":"FAIL","output":"{\"v\":false}","test":{"expectedOutputError":true,"description":"Mixed Case False"},"executionTimeAverage":18158,"description":"Mixed Case False"},{"parseTimeAverage":0,"input":"{\"v\":nuLl}","result":"FAIL","output":"{}","test":{"expectedOutputError":true,"description":"Mixed Case Null"},"executionTimeAverage":15086,"description":"Mixed Case Null"}]},{"testSet":{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]},"_entries":[{"parseTimeAverage":13478,"toJSONTimeAverage":9856,"input":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","result":"PASS","output":"{\"Image\":{\"Width\":800,\"Height\":600,\"Title\":\"View from 15th Floor\",\"Thumbnail\":{\"Url\":\"http:\/\/www.example.com\/image\/481989943\",\"Height\":125,\"Width\":\"100\"},\"IDs\":[116,943,234,38793]}}","test":{"expectedOutputError":false,"description":"JSON Spec Example One"},"executionTimeAverage":19835,"description":"JSON Spec Example One"},{"parseTimeAverage":0,"input":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","result":"ERROR","test":{"expectedOutputError":false,"description":"JSON Spec Example Two"},"exception":{"libraryException":{"message":"Type information is unavailable, and the target object is not a primitive: {\"precision\":\"zip\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"Address\":\"\",\"City\":\"SAN FRANCISCO\",\"State\":\"CA\",\"Zip\":\"94107\",\"Country\":\"US\"}","stackTrace":[{"className":"com.google.gson.JsonObjectDeserializationVisitor","fileName":"JsonObjectDeserializationVisitor.java","lineNumber":130,"methodName":"visitPrimitive","nativeMethod":false},{"className":"com.google.gson.ObjectNavigator","fileName":"ObjectNavigator.java","lineNumber":116,"methodName":"accept","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationVisitor","fileName":"JsonDeserializationVisitor.java","lineNumber":110,"methodName":"visitChild","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationVisitor","fileName":"JsonDeserializationVisitor.java","lineNumber":99,"methodName":"visitChildAsObject","nativeMethod":false},{"className":"com.google.gson.JsonArrayDeserializationVisitor","fileName":"JsonArrayDeserializationVisitor.java","lineNumber":70,"methodName":"visitArray","nativeMethod":false},{"className":"com.google.gson.ObjectNavigator","fileName":"ObjectNavigator.java","lineNumber":112,"methodName":"accept","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationContextDefault","fileName":"JsonDeserializationContextDefault.java","lineNumber":67,"methodName":"fromJsonArray","nativeMethod":false},{"className":"com.google.gson.JsonDeserializationContextDefault","fileName":"JsonDeserializationContextDefault.java","lineNumber":52,"methodName":"deserialize","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":551,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":498,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":467,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":417,"methodName":"fromJson","nativeMethod":false},{"className":"com.google.gson.Gson","fileName":"Gson.java","lineNumber":389,"methodName":"fromJson","nativeMethod":false},{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":110,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFDC4627RealExamples$2","fileName":"StrictRFDC4627RealExamples.java","lineNumber":124,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"message":"com.google.gson.JsonParseException: Type information is unavailable, and the target object is not a primitive: {\"precision\":\"zip\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"Address\":\"\",\"City\":\"SAN FRANCISCO\",\"State\":\"CA\",\"Zip\":\"94107\",\"Country\":\"US\"}","stackTrace":[{"className":"cc.plural.json.library.GSONLibrary","fileName":"GSONLibrary.java","lineNumber":116,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFDC4627RealExamples$2","fileName":"StrictRFDC4627RealExamples.java","lineNumber":124,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":434412,"description":"JSON Spec Example Two"},{"parseTimeAverage":14027,"toJSONTimeAverage":12796,"input":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","result":"PASS","output":"{\"firstName\":\"John\",\"lastName\":\"Smith\",\"age\":25,\"address\":{\"streetAddress\":\"21 2nd Street\",\"city\":\"New York\",\"state\":\"NY\",\"postalCode\":\"10021\"},\"phoneNumber\":[{\"type\":\"home\",\"number\":\"212 555-1234\"},{\"type\":\"fax\",\"number\":\"646 555-4567\"}]}","test":{"expectedOutputError":false,"description":"Wikipedia JSON Page Example One"},"executionTimeAverage":22629,"description":"Wikipedia JSON Page Example One"}]}]}},{"library":{"url":"http:\/\/jackson.codehaus.org\/","name":"Jackson","version":"1.8.1"},"result":{"testSuite":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"testLibrary":{"url":"http:\/\/jackson.codehaus.org\/","name":"Jackson","version":"1.8.1"},"_entries":[{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},"_entries":[{"parseTimeAverage":4087,"toJSONTimeAverage":5419,"input":"{}","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Object"},"executionTimeAverage":3072,"description":"Empty Object"},{"parseTimeAverage":1867,"toJSONTimeAverage":1929,"input":"[]","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Array"},"executionTimeAverage":3352,"description":"Empty Array"},{"parseTimeAverage":2941,"toJSONTimeAverage":2846,"input":"{\"v\":1337}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Integer"},"executionTimeAverage":3353,"description":"Simple Integer"},{"parseTimeAverage":2214,"toJSONTimeAverage":2173,"input":"{\"v\":-5678}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Integer"},"executionTimeAverage":3632,"description":"Simple Negative Integer"},{"parseTimeAverage":2841,"toJSONTimeAverage":4158,"input":"{\"v\":3.1415}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Decimal"},"executionTimeAverage":5028,"description":"Simple Decimal"},{"parseTimeAverage":3238,"toJSONTimeAverage":3507,"input":"{\"v\":-0.01223}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Decimal"},"executionTimeAverage":4469,"description":"Simple Negative Decimal"},{"parseTimeAverage":2526,"toJSONTimeAverage":2367,"input":"{\"v\":\"String\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Value"},"executionTimeAverage":9219,"description":"Simple String Value"},{"parseTimeAverage":4718,"toJSONTimeAverage":5738,"input":"{\"PI\":3.141E100}","result":"PASS","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},"executionTimeAverage":18159,"description":"Exponent Decimal Value Uppercase"},{"parseTimeAverage":5240,"toJSONTimeAverage":6301,"input":"{\"PI\":3.141e-99}","result":"PASS","output":"{\"PI\":3.141E-99}","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},"executionTimeAverage":7263,"description":"Exponent Decimal Value Lowercase"},{"parseTimeAverage":2076,"toJSONTimeAverage":2101,"input":"{\"v\":true}","result":"PASS","test":{"expectedOutputError":false,"description":"True Value"},"executionTimeAverage":3073,"description":"True Value"},{"parseTimeAverage":2020,"toJSONTimeAverage":1964,"input":"{\"v\":false}","result":"PASS","test":{"expectedOutputError":false,"description":"False Value"},"executionTimeAverage":3911,"description":"False Value"},{"parseTimeAverage":1957,"toJSONTimeAverage":1990,"input":"{\"v\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Null Value"},"executionTimeAverage":2794,"description":"Null Value"},{"parseTimeAverage":3844,"toJSONTimeAverage":4269,"input":"{\"v\":123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Int Value"},"executionTimeAverage":5587,"description":"Large Int Value"},{"parseTimeAverage":17467,"toJSONTimeAverage":34800,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Int Value"},"executionTimeAverage":70399,"description":"Huge Int Value"},{"parseTimeAverage":8139,"toJSONTimeAverage":7636,"input":"{\"v\":123456789123456789123456789.123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E26}","test":{"expectedOutputError":false,"description":"Large Double Value"},"executionTimeAverage":10337,"description":"Large Double Value"},{"parseTimeAverage":30175,"toJSONTimeAverage":12486,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E161}","test":{"expectedOutputError":false,"description":"Huge Double Value"},"executionTimeAverage":35479,"description":"Huge Double Value"},{"parseTimeAverage":2471,"toJSONTimeAverage":2214,"input":"{\"v\":\"\\u2000\\u20ff\"}","result":"PASS","output":"{\"v\":\"\u2000\u20ff\"}","test":{"expectedOutputError":false,"description":"Lowecase Unicode"},"executionTimeAverage":3352,"description":"Lowecase Unicode"},{"parseTimeAverage":1938,"toJSONTimeAverage":1726,"input":"{\"v\":\"\\u2000\\u20FF\"}","result":"PASS","output":"{\"v\":\"\u2000\u20ff\"}","test":{"expectedOutputError":false,"description":"Uppercase Unicode"},"executionTimeAverage":8101,"description":"Uppercase Unicode"},{"parseTimeAverage":2182,"toJSONTimeAverage":1873,"input":"{\"v\":\"\\ud801\\udc01\"}","result":"PASS","output":"{\"v\":\"\ud801\udc01\"}","test":{"expectedOutputError":false,"description":"Surrogate Pair Unicode"},"executionTimeAverage":3073,"description":"Surrogate Pair Unicode"},{"parseTimeAverage":2143,"toJSONTimeAverage":1871,"input":"[1,2,3,4,5]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Number Array"},"executionTimeAverage":3632,"description":"Simple Number Array"},{"parseTimeAverage":6727,"toJSONTimeAverage":10167,"input":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","result":"PASS","output":"[1,-1000,45.65,-2.3E-4,123456789012345678900987654321,3.4E101,-3.0E-101]","test":{"expectedOutputError":false,"description":"Complex Number Array"},"executionTimeAverage":14247,"description":"Complex Number Array"},{"parseTimeAverage":2464,"toJSONTimeAverage":2362,"input":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Array"},"executionTimeAverage":3911,"description":"Simple String Array"},{"parseTimeAverage":1981,"toJSONTimeAverage":1956,"input":"[true,true,false,false,true,false]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Boolean Array"},"executionTimeAverage":3632,"description":"Simple Boolean Array"},{"parseTimeAverage":3280,"toJSONTimeAverage":3042,"input":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Array Array"},"executionTimeAverage":5308,"description":"Deep Array Array"},{"parseTimeAverage":3009,"toJSONTimeAverage":2528,"input":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":4750,"description":"Deep Object Object"},{"parseTimeAverage":3558,"toJSONTimeAverage":3467,"input":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Mixed Object"},"executionTimeAverage":17600,"description":"Mixed Object"}]},{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},"_entries":[{"parseTimeAverage":1604,"toJSONTimeAverage":1416,"input":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace"},"executionTimeAverage":2515,"description":"Empty Object With Whitespace"},{"parseTimeAverage":1405,"toJSONTimeAverage":1432,"input":" \t\r\n\t {}","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace Before"},"executionTimeAverage":2514,"description":"Empty Object With Whitespace Before"},{"parseTimeAverage":1530,"toJSONTimeAverage":1492,"input":"{ \t\r\n\t }","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace During"},"executionTimeAverage":2794,"description":"Empty Object With Whitespace During"},{"parseTimeAverage":1440,"toJSONTimeAverage":1401,"input":"{} \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace After"},"executionTimeAverage":12850,"description":"Empty Object With Whitespace After"},{"parseTimeAverage":1542,"toJSONTimeAverage":1479,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace"},"executionTimeAverage":2514,"description":"Empty Array With Whitespace"},{"parseTimeAverage":1422,"toJSONTimeAverage":1468,"input":" \t\r\n\t []","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace Before"},"executionTimeAverage":2513,"description":"Empty Array With Whitespace Before"},{"parseTimeAverage":1406,"toJSONTimeAverage":1462,"input":"[ \t\r\n\t ]","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With During"},"executionTimeAverage":2794,"description":"Empty Array With During"},{"parseTimeAverage":1407,"toJSONTimeAverage":1484,"input":"[] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace After"},"executionTimeAverage":2514,"description":"Empty Array With Whitespace After"},{"parseTimeAverage":2383,"toJSONTimeAverage":1920,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[1,2,3,4,5]","test":{"expectedOutputError":false,"description":"Simple Number Array With Whitespace"},"executionTimeAverage":3353,"description":"Simple Number Array With Whitespace"},{"parseTimeAverage":2566,"toJSONTimeAverage":2159,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","test":{"expectedOutputError":false,"description":"Simple String Array With Whitespace"},"executionTimeAverage":4470,"description":"Simple String Array With Whitespace"},{"parseTimeAverage":2289,"toJSONTimeAverage":1827,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[true,true,false,false,true,false]","test":{"expectedOutputError":false,"description":"Simple Boolean Array With Whitespace"},"executionTimeAverage":3631,"description":"Simple Boolean Array With Whitespace"},{"parseTimeAverage":7040,"toJSONTimeAverage":10334,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","result":"PASS","output":"[1,-1000,45.65,-2.3E-4,123456789012345678900987654321,3.4E101,-3.0E-101]","test":{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array With Whitespace"},"executionTimeAverage":15365,"description":"Complex Number Array With Whitespace"},{"parseTimeAverage":4888,"toJSONTimeAverage":3433,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","result":"PASS","output":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","test":{"expectedOutputError":false,"description":"Deep Array Array With Whitespace"},"executionTimeAverage":6146,"description":"Deep Array Array With Whitespace"},{"parseTimeAverage":3577,"toJSONTimeAverage":2537,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":5587,"description":"Deep Object Object"}]},{"testSet":{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},"_entries":[{"parseTimeAverage":0,"result":"PASS","output":"java.io.EOFException: No content to map to Object due to end of input","test":{"expectedOutputError":true,"description":"Empty String"},"exception":{"libraryException":{"message":"No content to map to Object due to end of input","stackTrace":[{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2433,"methodName":"_initForReading","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2385,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":92190,"description":"Empty String"},{"parseTimeAverage":0,"input":"{","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (from [Source: java.io.StringReader@940b84; line: 1, column: 0])\n at [Source: java.io.StringReader@940b84; line: 1, column: 3]","test":{"expectedOutputError":true,"description":"Open Object"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@940b84","lineNr":1,"columnNr":3,"NA":{"lineNr":-1}},"message":"Unexpected end-of-input: expected close marker for OBJECT (from [Source: java.io.StringReader@940b84; line: 1, column: 0])\n at [Source: java.io.StringReader@940b84; line: 1, column: 3]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":318,"methodName":"_reportInvalidEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserBase","fileName":"JsonParserBase.java","lineNumber":354,"methodName":"_handleEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":953,"methodName":"_skipWSOrEnd","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":245,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":182,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":13879697,"description":"Open Object"},{"parseTimeAverage":0,"input":"[","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for ARRAY (from [Source: java.io.StringReader@16504fa; line: 1, column: 0])\n at [Source: java.io.StringReader@16504fa; line: 1, column: 3]","test":{"expectedOutputError":true,"description":"Open Array"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@16504fa","lineNr":1,"columnNr":3,"NA":{"lineNr":-1}},"message":"Unexpected end-of-input: expected close marker for ARRAY (from [Source: java.io.StringReader@16504fa; line: 1, column: 0])\n at [Source: java.io.StringReader@16504fa; line: 1, column: 3]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":318,"methodName":"_reportInvalidEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserBase","fileName":"JsonParserBase.java","lineNumber":354,"methodName":"_handleEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":953,"methodName":"_skipWSOrEnd","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":245,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":200,"methodName":"deserializeArray","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":216,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":51962,"description":"Open Array"},{"parseTimeAverage":0,"input":"{\"v\":1234","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (from [Source: java.io.StringReader@1b5391b; line: 1, column: 0])\n at [Source: java.io.StringReader@1b5391b; line: 1, column: 28]","test":{"expectedOutputError":true,"description":"Unclosed Object"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@1b5391b","lineNr":1,"columnNr":28,"charOffset":26,"NA":{"lineNr":-1}},"message":"Unexpected end-of-input: expected close marker for OBJECT (from [Source: java.io.StringReader@1b5391b; line: 1, column: 0])\n at [Source: java.io.StringReader@1b5391b; line: 1, column: 28]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":318,"methodName":"_reportInvalidEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserBase","fileName":"JsonParserBase.java","lineNumber":354,"methodName":"_handleEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":953,"methodName":"_skipWSOrEnd","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":245,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":184,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":62299,"description":"Unclosed Object"},{"parseTimeAverage":0,"input":"{\"v\":1234}$ifsisg045","result":"FAIL","output":"{\"v\":1234}","test":{"expectedOutputError":true,"description":"Object with trailing junk"},"executionTimeAverage":24304,"description":"Object with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4]$ifsisg045","result":"FAIL","output":"[1,2,3,4]","test":{"expectedOutputError":true,"description":"Array with trailing junk"},"executionTimeAverage":18437,"description":"Array with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for ARRAY (from [Source: java.io.StringReader@278e83; line: 1, column: 0])\n at [Source: java.io.StringReader@278e83; line: 1, column: 25]","test":{"expectedOutputError":true,"description":"Unclosed Array"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@278e83","lineNr":1,"columnNr":25,"charOffset":23,"NA":{"lineNr":-1}},"message":"Unexpected end-of-input: expected close marker for ARRAY (from [Source: java.io.StringReader@278e83; line: 1, column: 0])\n at [Source: java.io.StringReader@278e83; line: 1, column: 25]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":318,"methodName":"_reportInvalidEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserBase","fileName":"JsonParserBase.java","lineNumber":354,"methodName":"_handleEOF","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":953,"methodName":"_skipWSOrEnd","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":245,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":200,"methodName":"deserializeArray","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":216,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":51683,"description":"Unclosed Array"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\tAfter\"}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 9)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@5dfaf1; line: 1, column: 14]","test":{"expectedOutputError":true,"description":"Tab in JSON String"},"exception":{"libraryException":{"location":{"lineNr":1,"columnNr":14,"charOffset":12,"NA":{"lineNr":-1}},"message":"Illegal unquoted character ((CTRL-CHAR, code 9)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@5dfaf1; line: 1, column: 14]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":346,"methodName":"_throwUnquotedSpace","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":789,"methodName":"_finishString2","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":760,"methodName":"_finishString","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":85,"methodName":"getText","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":219,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":187,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$8","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":121,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$8","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":121,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":81295,"description":"Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u0009After\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Tab in JSON String"},"executionTimeAverage":38273,"description":"Unicode Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\nAfter\"}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@1ef7de4; line: 1, column: 14]","test":{"expectedOutputError":true,"description":"Newline in JSON String"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@1ef7de4","lineNr":1,"columnNr":14,"charOffset":12,"NA":{"lineNr":-1}},"message":"Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@1ef7de4; line: 1, column: 14]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":346,"methodName":"_throwUnquotedSpace","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":789,"methodName":"_finishString2","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":760,"methodName":"_finishString","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":85,"methodName":"getText","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":219,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":187,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$10","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":146,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$10","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":146,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":92749,"description":"Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000AAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Newline in JSON String"},"executionTimeAverage":31289,"description":"Unicode Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\rAfter\"}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@edbe39; line: 1, column: 14]","test":{"expectedOutputError":true,"description":"Return in JSON String"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@edbe39","lineNr":1,"columnNr":14,"charOffset":12,"NA":{"lineNr":-1}},"message":"Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@edbe39; line: 1, column: 14]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":346,"methodName":"_throwUnquotedSpace","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":789,"methodName":"_finishString2","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":760,"methodName":"_finishString","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":85,"methodName":"getText","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":219,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":187,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$12","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":171,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$12","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":171,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":46654,"description":"Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000DAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Return in JSON String"},"executionTimeAverage":24026,"description":"Unicode Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\fAfter\"}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 12)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@166bfd8; line: 1, column: 14]","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@166bfd8","lineNr":1,"columnNr":14,"charOffset":12,"NA":{"lineNr":-1}},"message":"Illegal unquoted character ((CTRL-CHAR, code 12)): has to be escaped using backslash to be included in string value\n at [Source: java.io.StringReader@166bfd8; line: 1, column: 14]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":346,"methodName":"_throwUnquotedSpace","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":789,"methodName":"_finishString2","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":760,"methodName":"_finishString","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":85,"methodName":"getText","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":219,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":187,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$14","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":195,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$14","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":195,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":43860,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000CAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":19276,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"array\":[1,2],\"array\":[3,4]}","result":"FAIL","output":"{\"array\":[3,4]}","test":{"expectedOutputError":true,"description":"Same Key Behaviour"},"executionTimeAverage":24583,"description":"Same Key Behaviour"},{"parseTimeAverage":0,"input":"{\"v\":1234567890987654321E234E343}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected character ('E' (code 69)): was expecting comma to separate OBJECT entries\n at [Source: java.io.StringReader@4d41e2; line: 1, column: 30]","test":{"expectedOutputError":true,"description":"Double Exponent Number"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@4d41e2","lineNr":1,"columnNr":30,"charOffset":28,"NA":{"lineNr":-1}},"message":"Unexpected character ('E' (code 69)): was expecting comma to separate OBJECT entries\n at [Source: java.io.StringReader@4d41e2; line: 1, column: 30]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":306,"methodName":"_reportUnexpectedChar","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":283,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":184,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":125994,"description":"Double Exponent Number"},{"parseTimeAverage":0,"input":"{\"v\":12345678909876A}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected character ('A' (code 65)): was expecting comma to separate OBJECT entries\n at [Source: java.io.StringReader@1d38b87; line: 1, column: 21]","test":{"expectedOutputError":true,"description":"Likely Number"},"exception":{"libraryException":{"location":{"lineNr":1,"columnNr":21,"charOffset":19,"NA":{"lineNr":-1}},"message":"Unexpected character ('A' (code 65)): was expecting comma to separate OBJECT entries\n at [Source: java.io.StringReader@1d38b87; line: 1, column: 21]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":306,"methodName":"_reportUnexpectedChar","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":283,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":184,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":257575,"description":"Likely Number"},{"parseTimeAverage":0,"input":"{\"v\":TRUE}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected character ('T' (code 84)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: java.io.StringReader@cbd8dc; line: 1, column: 7]","test":{"expectedOutputError":true,"description":"Uppercase True"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@cbd8dc","lineNr":1,"columnNr":7,"charOffset":5,"NA":{"lineNr":-1}},"message":"Unexpected character ('T' (code 84)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: java.io.StringReader@cbd8dc; line: 1, column: 7]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":306,"methodName":"_reportUnexpectedChar","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":628,"methodName":"_handleUnexpectedValue","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":362,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":182,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":63416,"description":"Uppercase True"},{"parseTimeAverage":0,"input":"{\"v\":FALSE}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unexpected character ('F' (code 70)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: java.io.StringReader@12696c2; line: 1, column: 7]","test":{"expectedOutputError":true,"description":"Uppercase False"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@12696c2","lineNr":1,"columnNr":7,"charOffset":5,"NA":{"lineNr":-1}},"message":"Unexpected character ('F' (code 70)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: java.io.StringReader@12696c2; line: 1, column: 7]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":306,"methodName":"_reportUnexpectedChar","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":628,"methodName":"_handleUnexpectedValue","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":362,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":182,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":47492,"description":"Uppercase False"},{"parseTimeAverage":0,"input":"{\"v\":NULL}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unrecognized token 'NULL': was expecting \n at [Source: java.io.StringReader@dc0435; line: 1, column: 10]","test":{"expectedOutputError":true,"description":"Uppercase Null"},"exception":{"libraryException":{"location":{"lineNr":1,"columnNr":10,"charOffset":8,"NA":{"lineNr":-1}},"message":"Unrecognized token 'NULL': was expecting \n at [Source: java.io.StringReader@dc0435; line: 1, column: 10]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParserBase","fileName":"ReaderBasedParserBase.java","lineNumber":222,"methodName":"_reportInvalidToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParserBase","fileName":"ReaderBasedParserBase.java","lineNumber":181,"methodName":"_matchToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":612,"methodName":"_handleUnexpectedValue","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":362,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":182,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":77104,"description":"Uppercase Null"},{"parseTimeAverage":0,"input":"{\"v\":trUe}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unrecognized token 'trUe': was expecting \n at [Source: java.io.StringReader@c24193; line: 1, column: 10]","test":{"expectedOutputError":true,"description":"Mixed Case True"},"exception":{"libraryException":{"location":{"lineNr":1,"columnNr":10,"charOffset":8,"NA":{"lineNr":-1}},"message":"Unrecognized token 'trUe': was expecting \n at [Source: java.io.StringReader@c24193; line: 1, column: 10]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParserBase","fileName":"ReaderBasedParserBase.java","lineNumber":222,"methodName":"_reportInvalidToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":871,"methodName":"_matchToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":332,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":182,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":64534,"description":"Mixed Case True"},{"parseTimeAverage":0,"input":"{\"v\":faLse}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unrecognized token 'faLse': was expecting \n at [Source: java.io.StringReader@113e9fd; line: 1, column: 11]","test":{"expectedOutputError":true,"description":"Mixed Case False"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@113e9fd","lineNr":1,"columnNr":11,"charOffset":9,"NA":{"lineNr":-1}},"message":"Unrecognized token 'faLse': was expecting \n at [Source: java.io.StringReader@113e9fd; line: 1, column: 11]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParserBase","fileName":"ReaderBasedParserBase.java","lineNumber":222,"methodName":"_reportInvalidToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":871,"methodName":"_matchToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":336,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":182,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":45816,"description":"Mixed Case False"},{"parseTimeAverage":0,"input":"{\"v\":nuLl}","result":"PASS","output":"org.codehaus.jackson.JsonParseException: Unrecognized token 'nuLl': was expecting \n at [Source: java.io.StringReader@156b386; line: 1, column: 10]","test":{"expectedOutputError":true,"description":"Mixed Case Null"},"exception":{"libraryException":{"location":{"sourceRef":"java.io.StringReader@156b386","lineNr":1,"columnNr":10,"charOffset":8,"NA":{"lineNr":-1}},"message":"Unrecognized token 'nuLl': was expecting \n at [Source: java.io.StringReader@156b386; line: 1, column: 10]","stackTrace":[{"className":"org.codehaus.jackson.JsonParser","fileName":"JsonParser.java","lineNumber":1291,"methodName":"_constructError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.JsonParserMinimalBase","fileName":"JsonParserMinimalBase.java","lineNumber":385,"methodName":"_reportError","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParserBase","fileName":"ReaderBasedParserBase.java","lineNumber":222,"methodName":"_reportInvalidToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":871,"methodName":"_matchToken","nativeMethod":false},{"className":"org.codehaus.jackson.impl.ReaderBasedParser","fileName":"ReaderBasedParser.java","lineNumber":340,"methodName":"nextToken","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":182,"methodName":"deserializeObject","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.BaseNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":213,"methodName":"deserializeAny","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":56,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.deser.JsonNodeDeserializer","fileName":"JsonNodeDeserializer.java","lineNumber":13,"methodName":"deserialize","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":2391,"methodName":"_readMapAndClose","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1605,"methodName":"readValue","nativeMethod":false},{"className":"org.codehaus.jackson.map.ObjectMapper","fileName":"ObjectMapper.java","lineNumber":1280,"methodName":"readTree","nativeMethod":false},{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JacksonLibrary","fileName":"JacksonLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":44698,"description":"Mixed Case Null"}]},{"testSet":{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]},"_entries":[{"parseTimeAverage":5608,"toJSONTimeAverage":4071,"input":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","result":"PASS","output":"{\"Image\":{\"Width\":800,\"Height\":600,\"Title\":\"View from 15th Floor\",\"Thumbnail\":{\"Url\":\"http:\/\/www.example.com\/image\/481989943\",\"Height\":125,\"Width\":\"100\"},\"IDs\":[116,943,234,38793]}}","test":{"expectedOutputError":false,"description":"JSON Spec Example One"},"executionTimeAverage":8660,"description":"JSON Spec Example One"},{"parseTimeAverage":9253,"toJSONTimeAverage":10390,"input":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","result":"PASS","output":"[{\"precision\":\"zip\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"Address\":\"\",\"City\":\"SAN FRANCISCO\",\"State\":\"CA\",\"Zip\":\"94107\",\"Country\":\"US\"},{\"precision\":\"zip\",\"Latitude\":37.371991,\"Longitude\":-122.02602,\"Address\":\"\",\"City\":\"SUNNYVALE\",\"State\":\"CA\",\"Zip\":\"94085\",\"Country\":\"US\"}]","test":{"expectedOutputError":false,"description":"JSON Spec Example Two"},"executionTimeAverage":17879,"description":"JSON Spec Example Two"},{"parseTimeAverage":7289,"toJSONTimeAverage":5822,"input":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","result":"PASS","output":"{\"firstName\":\"John\",\"lastName\":\"Smith\",\"age\":25,\"address\":{\"streetAddress\":\"21 2nd Street\",\"city\":\"New York\",\"state\":\"NY\",\"postalCode\":\"10021\"},\"phoneNumber\":[{\"type\":\"home\",\"number\":\"212 555-1234\"},{\"type\":\"fax\",\"number\":\"646 555-4567\"}]}","test":{"expectedOutputError":false,"description":"Wikipedia JSON Page Example One"},"executionTimeAverage":10056,"description":"Wikipedia JSON Page Example One"}]}]}},{"library":{"url":"http:\/\/www.json.org\/java\/index.html","name":"JSON.org Implementation","version":"20090211"},"result":{"testSuite":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"testLibrary":{"url":"http:\/\/www.json.org\/java\/index.html","name":"JSON.org Implementation","version":"20090211"},"_entries":[{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},"_entries":[{"parseTimeAverage":1378,"toJSONTimeAverage":1226,"input":"{}","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Object"},"executionTimeAverage":1956,"description":"Empty Object"},{"parseTimeAverage":1132,"toJSONTimeAverage":1097,"input":"[]","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Array"},"executionTimeAverage":1956,"description":"Empty Array"},{"parseTimeAverage":2205,"toJSONTimeAverage":1769,"input":"{\"v\":1337}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Integer"},"executionTimeAverage":3073,"description":"Simple Integer"},{"parseTimeAverage":1986,"toJSONTimeAverage":1519,"input":"{\"v\":-5678}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Integer"},"executionTimeAverage":3073,"description":"Simple Negative Integer"},{"parseTimeAverage":7895,"toJSONTimeAverage":2880,"input":"{\"v\":3.1415}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Decimal"},"executionTimeAverage":8939,"description":"Simple Decimal"},{"parseTimeAverage":8349,"toJSONTimeAverage":2935,"input":"{\"v\":-0.01223}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Decimal"},"executionTimeAverage":8940,"description":"Simple Negative Decimal"},{"parseTimeAverage":1549,"toJSONTimeAverage":1691,"input":"{\"v\":\"String\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Value"},"executionTimeAverage":2794,"description":"Simple String Value"},{"parseTimeAverage":9637,"toJSONTimeAverage":4195,"input":"{\"PI\":3.141E100}","result":"PASS","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},"executionTimeAverage":12851,"description":"Exponent Decimal Value Uppercase"},{"parseTimeAverage":10102,"toJSONTimeAverage":4572,"input":"{\"PI\":3.141e-99}","result":"PASS","output":"{\"PI\":3.141E-99}","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},"executionTimeAverage":27937,"description":"Exponent Decimal Value Lowercase"},{"parseTimeAverage":1884,"toJSONTimeAverage":1496,"input":"{\"v\":true}","result":"PASS","test":{"expectedOutputError":false,"description":"True Value"},"executionTimeAverage":3073,"description":"True Value"},{"parseTimeAverage":1793,"toJSONTimeAverage":1548,"input":"{\"v\":false}","result":"PASS","test":{"expectedOutputError":false,"description":"False Value"},"executionTimeAverage":2793,"description":"False Value"},{"parseTimeAverage":1749,"toJSONTimeAverage":1451,"input":"{\"v\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Null Value"},"executionTimeAverage":2514,"description":"Null Value"},{"parseTimeAverage":11753,"toJSONTimeAverage":5648,"input":"{\"v\":123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E26}","test":{"expectedOutputError":false,"description":"Large Int Value"},"executionTimeAverage":15644,"description":"Large Int Value"},{"parseTimeAverage":34412,"toJSONTimeAverage":15264,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.234567891234568E242}","test":{"expectedOutputError":false,"description":"Huge Int Value"},"executionTimeAverage":63974,"description":"Huge Int Value"},{"parseTimeAverage":15683,"toJSONTimeAverage":6102,"input":"{\"v\":123456789123456789123456789.123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E26}","test":{"expectedOutputError":false,"description":"Large Double Value"},"executionTimeAverage":20672,"description":"Large Double Value"},{"parseTimeAverage":62144,"toJSONTimeAverage":13362,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E161}","test":{"expectedOutputError":false,"description":"Huge Double Value"},"executionTimeAverage":58388,"description":"Huge Double Value"},{"parseTimeAverage":2067,"toJSONTimeAverage":2661,"input":"{\"v\":\"\\u2000\\u20ff\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Lowecase Unicode"},"executionTimeAverage":3910,"description":"Lowecase Unicode"},{"parseTimeAverage":2082,"toJSONTimeAverage":2895,"input":"{\"v\":\"\\u2000\\u20FF\"}","result":"PASS","output":"{\"v\":\"\\u2000\\u20ff\"}","test":{"expectedOutputError":false,"description":"Uppercase Unicode"},"executionTimeAverage":3912,"description":"Uppercase Unicode"},{"parseTimeAverage":2011,"toJSONTimeAverage":1601,"input":"{\"v\":\"\\ud801\\udc01\"}","result":"PASS","output":"{\"v\":\"\ud801\udc01\"}","test":{"expectedOutputError":false,"description":"Surrogate Pair Unicode"},"executionTimeAverage":3073,"description":"Surrogate Pair Unicode"},{"parseTimeAverage":2192,"toJSONTimeAverage":1856,"input":"[1,2,3,4,5]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Number Array"},"executionTimeAverage":3352,"description":"Simple Number Array"},{"parseTimeAverage":37406,"toJSONTimeAverage":12827,"input":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","result":"FAIL","output":"[1,-1000,45.65,-2.3E-4,1.2345678901234568E29,3.4E101,-3.0E-101]","test":{"expectedOutputError":false,"description":"Complex Number Array"},"executionTimeAverage":46095,"description":"Complex Number Array"},{"parseTimeAverage":2500,"toJSONTimeAverage":3539,"input":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Array"},"executionTimeAverage":5028,"description":"Simple String Array"},{"parseTimeAverage":3802,"toJSONTimeAverage":2130,"input":"[true,true,false,false,true,false]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Boolean Array"},"executionTimeAverage":5029,"description":"Simple Boolean Array"},{"parseTimeAverage":2949,"toJSONTimeAverage":6049,"input":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Array Array"},"executionTimeAverage":7542,"description":"Deep Array Array"},{"parseTimeAverage":3245,"toJSONTimeAverage":4399,"input":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"w\":{},\"v\":{}}}}}}","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":9777,"description":"Deep Object Object"},{"parseTimeAverage":13734,"toJSONTimeAverage":4753,"input":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","result":"PASS","output":"{\"null\":null,\"array\":[1,0.2,true,false,null,{\"v\":[]}]}","test":{"expectedOutputError":false,"description":"Mixed Object"},"executionTimeAverage":16762,"description":"Mixed Object"}]},{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},"_entries":[{"parseTimeAverage":1256,"toJSONTimeAverage":1034,"input":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace"},"executionTimeAverage":2235,"description":"Empty Object With Whitespace"},{"parseTimeAverage":1248,"toJSONTimeAverage":1203,"input":" \t\r\n\t {}","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace Before"},"executionTimeAverage":1955,"description":"Empty Object With Whitespace Before"},{"parseTimeAverage":1129,"toJSONTimeAverage":1103,"input":"{ \t\r\n\t }","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace During"},"executionTimeAverage":1956,"description":"Empty Object With Whitespace During"},{"parseTimeAverage":1091,"toJSONTimeAverage":1072,"input":"{} \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace After"},"executionTimeAverage":1676,"description":"Empty Object With Whitespace After"},{"parseTimeAverage":1173,"toJSONTimeAverage":990,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace"},"executionTimeAverage":2235,"description":"Empty Array With Whitespace"},{"parseTimeAverage":1118,"toJSONTimeAverage":1059,"input":" \t\r\n\t []","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace Before"},"executionTimeAverage":1955,"description":"Empty Array With Whitespace Before"},{"parseTimeAverage":1314,"toJSONTimeAverage":1184,"input":"[ \t\r\n\t ]","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With During"},"executionTimeAverage":2235,"description":"Empty Array With During"},{"parseTimeAverage":1028,"toJSONTimeAverage":1104,"input":"[] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace After"},"executionTimeAverage":1676,"description":"Empty Array With Whitespace After"},{"parseTimeAverage":4029,"toJSONTimeAverage":1954,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[1,2,3,4,5]","test":{"expectedOutputError":false,"description":"Simple Number Array With Whitespace"},"executionTimeAverage":4749,"description":"Simple Number Array With Whitespace"},{"parseTimeAverage":3866,"toJSONTimeAverage":3522,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","test":{"expectedOutputError":false,"description":"Simple String Array With Whitespace"},"executionTimeAverage":8382,"description":"Simple String Array With Whitespace"},{"parseTimeAverage":5306,"toJSONTimeAverage":2028,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[true,true,false,false,true,false]","test":{"expectedOutputError":false,"description":"Simple Boolean Array With Whitespace"},"executionTimeAverage":6146,"description":"Simple Boolean Array With Whitespace"},{"parseTimeAverage":44240,"toJSONTimeAverage":14283,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","result":"FAIL","output":"[1,-1000,45.65,-2.3E-4,1.2345678901234568E29,3.4E101,-3.0E-101]","test":{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array With Whitespace"},"executionTimeAverage":46096,"description":"Complex Number Array With Whitespace"},{"parseTimeAverage":7429,"toJSONTimeAverage":6800,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","result":"PASS","output":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","test":{"expectedOutputError":false,"description":"Deep Array Array With Whitespace"},"executionTimeAverage":16763,"description":"Deep Array Array With Whitespace"},{"parseTimeAverage":6403,"toJSONTimeAverage":4885,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"w\":{},\"v\":{}}}}}}","test":{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":9498,"description":"Deep Object Object"}]},{"testSet":{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},"_entries":[{"parseTimeAverage":0,"result":"PASS","output":"org.json.JSONException: A JSONObject text must begin with '{' at character 0","test":{"expectedOutputError":true,"description":"Empty String"},"exception":{"libraryException":{"message":"A JSONObject text must begin with '{' at character 0","stackTrace":[{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":410,"methodName":"syntaxError","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":179,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":402,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":125,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":133,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"description":"Empty String"},{"parseTimeAverage":0,"input":"{","result":"PASS","output":"org.json.JSONException: A JSONObject text must end with '}' at character 1","test":{"expectedOutputError":true,"description":"Open Object"},"exception":{"libraryException":{"message":"A JSONObject text must end with '}' at character 1","stackTrace":[{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":410,"methodName":"syntaxError","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":185,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":402,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":82,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":90,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":94425,"description":"Open Object"},{"parseTimeAverage":0,"input":"[","result":"PASS","output":"org.json.JSONException: Stepping back two steps is not supported","test":{"expectedOutputError":true,"description":"Open Array"},"exception":{"libraryException":{"message":"Stepping back two steps is not supported","stackTrace":[{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":77,"methodName":"back","nativeMethod":false},{"className":"org.json.JSONArray","fileName":"JSONArray.java","lineNumber":124,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONArray","fileName":"JSONArray.java","lineNumber":157,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":106,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":112,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"description":"Open Array"},{"parseTimeAverage":0,"input":"{\"v\":1234","result":"PASS","output":"org.json.JSONException: Expected a ',' or '}' at character 8","test":{"expectedOutputError":true,"description":"Unclosed Object"},"exception":{"libraryException":{"message":"Expected a ',' or '}' at character 8","stackTrace":[{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":410,"methodName":"syntaxError","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":222,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":402,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":82,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":90,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":80737,"description":"Unclosed Object"},{"parseTimeAverage":0,"input":"{\"v\":1234}$ifsisg045","result":"FAIL","output":"{\"v\":1234}","test":{"expectedOutputError":true,"description":"Object with trailing junk"},"executionTimeAverage":15924,"description":"Object with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4]$ifsisg045","result":"FAIL","output":"[1,2,3,4]","test":{"expectedOutputError":true,"description":"Array with trailing junk"},"executionTimeAverage":8660,"description":"Array with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4","result":"PASS","output":"org.json.JSONException: Expected a ',' or ']' at character 7","test":{"expectedOutputError":true,"description":"Unclosed Array"},"exception":{"libraryException":{"message":"Expected a ',' or ']' at character 7","stackTrace":[{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":410,"methodName":"syntaxError","nativeMethod":false},{"className":"org.json.JSONArray","fileName":"JSONArray.java","lineNumber":143,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONArray","fileName":"JSONArray.java","lineNumber":157,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":106,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":112,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"description":"Unclosed Array"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\tAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Tab in JSON String"},"executionTimeAverage":19556,"description":"Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u0009After\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Tab in JSON String"},"executionTimeAverage":10058,"description":"Unicode Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\nAfter\"}","result":"PASS","output":"org.json.JSONException: Unterminated string at character 13","test":{"expectedOutputError":true,"description":"Newline in JSON String"},"exception":{"libraryException":{"message":"Unterminated string at character 13","stackTrace":[{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":410,"methodName":"syntaxError","nativeMethod":false},{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":244,"methodName":"nextString","nativeMethod":false},{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":341,"methodName":"nextValue","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":205,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":402,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":82,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$10","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":146,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":90,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$10","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":146,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":62578,"description":"Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000AAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Newline in JSON String"},"executionTimeAverage":17320,"description":"Unicode Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\rAfter\"}","result":"PASS","output":"org.json.JSONException: Unterminated string at character 13","test":{"expectedOutputError":true,"description":"Return in JSON String"},"exception":{"libraryException":{"message":"Unterminated string at character 13","stackTrace":[{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":410,"methodName":"syntaxError","nativeMethod":false},{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":244,"methodName":"nextString","nativeMethod":false},{"className":"org.json.JSONTokener","fileName":"JSONTokener.java","lineNumber":341,"methodName":"nextValue","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":205,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":402,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":82,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$12","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":171,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":90,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$12","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":171,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":19276,"description":"Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000DAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Return in JSON String"},"executionTimeAverage":137727,"description":"Unicode Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\fAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":16483,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000CAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":12572,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"array\":[1,2],\"array\":[3,4]}","result":"PASS","output":"org.json.JSONException: Duplicate key \"array\"","test":{"expectedOutputError":true,"description":"Same Key Behaviour"},"exception":{"libraryException":{"message":"Duplicate key \"array\"","stackTrace":[{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":1076,"methodName":"putOnce","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":205,"methodName":"<init>","nativeMethod":false},{"className":"org.json.JSONObject","fileName":"JSONObject.java","lineNumber":402,"methodName":"<init>","nativeMethod":false},{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":82,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$16","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":219,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONDotOrgLibrary","fileName":"JSONDotOrgLibrary.java","lineNumber":90,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$16","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":219,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":48889,"description":"Same Key Behaviour"},{"parseTimeAverage":0,"input":"{\"v\":1234567890987654321E234E343}","result":"FAIL","output":"{\"v\":\"1234567890987654321E234E343\"}","test":{"expectedOutputError":true,"description":"Double Exponent Number"},"executionTimeAverage":51963,"description":"Double Exponent Number"},{"parseTimeAverage":0,"input":"{\"v\":12345678909876A}","result":"FAIL","output":"{\"v\":\"12345678909876A\"}","test":{"expectedOutputError":true,"description":"Likely Number"},"executionTimeAverage":27099,"description":"Likely Number"},{"parseTimeAverage":0,"input":"{\"v\":TRUE}","result":"FAIL","output":"{\"v\":true}","test":{"expectedOutputError":true,"description":"Uppercase True"},"executionTimeAverage":15085,"description":"Uppercase True"},{"parseTimeAverage":0,"input":"{\"v\":FALSE}","result":"FAIL","output":"{\"v\":false}","test":{"expectedOutputError":true,"description":"Uppercase False"},"executionTimeAverage":438883,"description":"Uppercase False"},{"parseTimeAverage":0,"input":"{\"v\":NULL}","result":"FAIL","output":"{\"v\":null}","test":{"expectedOutputError":true,"description":"Uppercase Null"},"executionTimeAverage":8101,"description":"Uppercase Null"},{"parseTimeAverage":0,"input":"{\"v\":trUe}","result":"FAIL","output":"{\"v\":true}","test":{"expectedOutputError":true,"description":"Mixed Case True"},"executionTimeAverage":7822,"description":"Mixed Case True"},{"parseTimeAverage":0,"input":"{\"v\":faLse}","result":"FAIL","output":"{\"v\":false}","test":{"expectedOutputError":true,"description":"Mixed Case False"},"executionTimeAverage":8101,"description":"Mixed Case False"},{"parseTimeAverage":0,"input":"{\"v\":nuLl}","result":"FAIL","output":"{\"v\":null}","test":{"expectedOutputError":true,"description":"Mixed Case Null"},"executionTimeAverage":14528,"description":"Mixed Case Null"}]},{"testSet":{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]},"_entries":[{"parseTimeAverage":12846,"toJSONTimeAverage":10668,"input":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","result":"PASS","output":"{\"Image\":{\"IDs\":[116,943,234,38793],\"Height\":600,\"Width\":800,\"Thumbnail\":{\"Url\":\"http:\/\/www.example.com\/image\/481989943\",\"Height\":125,\"Width\":\"100\"},\"Title\":\"View from 15th Floor\"}}","test":{"expectedOutputError":false,"description":"JSON Spec Example One"},"executionTimeAverage":17600,"description":"JSON Spec Example One"},{"parseTimeAverage":46155,"toJSONTimeAverage":20784,"input":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","result":"PASS","output":"[{\"precision\":\"zip\",\"State\":\"CA\",\"Address\":\"\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"Zip\":\"94107\",\"Country\":\"US\",\"City\":\"SAN FRANCISCO\"},{\"precision\":\"zip\",\"State\":\"CA\",\"Address\":\"\",\"Latitude\":37.371991,\"Longitude\":-122.02602,\"Zip\":\"94085\",\"Country\":\"US\",\"City\":\"SUNNYVALE\"}]","test":{"expectedOutputError":false,"description":"JSON Spec Example Two"},"executionTimeAverage":53638,"description":"JSON Spec Example Two"},{"parseTimeAverage":13294,"toJSONTimeAverage":13851,"input":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","result":"PASS","output":"{\"lastName\":\"Smith\",\"phoneNumber\":[{\"number\":\"212 555-1234\",\"type\":\"home\"},{\"number\":\"646 555-4567\",\"type\":\"fax\"}],\"address\":{\"streetAddress\":\"21 2nd Street\",\"postalCode\":\"10021\",\"state\":\"NY\",\"city\":\"New York\"},\"age\":25,\"firstName\":\"John\"}","test":{"expectedOutputError":false,"description":"Wikipedia JSON Page Example One"},"executionTimeAverage":21791,"description":"Wikipedia JSON Page Example One"}]}]}},{"library":{"url":"http:\/\/projects.plural.cc\/projects\/jsonij","name":"JSONiJ","version":"0.2.6"},"result":{"testSuite":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"testLibrary":{"url":"http:\/\/projects.plural.cc\/projects\/jsonij","name":"JSONiJ","version":"0.2.6"},"_entries":[{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},"_entries":[{"parseTimeAverage":1769,"toJSONTimeAverage":1074,"input":"{}","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Object"},"executionTimeAverage":1955,"description":"Empty Object"},{"parseTimeAverage":1328,"toJSONTimeAverage":1080,"input":"[]","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Array"},"executionTimeAverage":1676,"description":"Empty Array"},{"parseTimeAverage":2111,"toJSONTimeAverage":1516,"input":"{\"v\":1337}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Integer"},"executionTimeAverage":4190,"description":"Simple Integer"},{"parseTimeAverage":2077,"toJSONTimeAverage":1427,"input":"{\"v\":-5678}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Integer"},"executionTimeAverage":2515,"description":"Simple Negative Integer"},{"parseTimeAverage":1971,"toJSONTimeAverage":2512,"input":"{\"v\":3.1415}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Decimal"},"executionTimeAverage":3353,"description":"Simple Decimal"},{"parseTimeAverage":2376,"toJSONTimeAverage":2671,"input":"{\"v\":-0.01223}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Decimal"},"executionTimeAverage":3911,"description":"Simple Negative Decimal"},{"parseTimeAverage":2508,"toJSONTimeAverage":6101,"input":"{\"v\":\"String\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Value"},"executionTimeAverage":5587,"description":"Simple String Value"},{"parseTimeAverage":4347,"toJSONTimeAverage":4725,"input":"{\"PI\":3.141E100}","result":"PASS","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},"executionTimeAverage":13410,"description":"Exponent Decimal Value Uppercase"},{"parseTimeAverage":6003,"toJSONTimeAverage":6355,"input":"{\"PI\":3.141e-99}","result":"PASS","output":"{\"PI\":3.141E-99}","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},"executionTimeAverage":16203,"description":"Exponent Decimal Value Lowercase"},{"parseTimeAverage":1730,"toJSONTimeAverage":1407,"input":"{\"v\":true}","result":"PASS","test":{"expectedOutputError":false,"description":"True Value"},"executionTimeAverage":3073,"description":"True Value"},{"parseTimeAverage":1961,"toJSONTimeAverage":1378,"input":"{\"v\":false}","result":"PASS","test":{"expectedOutputError":false,"description":"False Value"},"executionTimeAverage":2514,"description":"False Value"},{"parseTimeAverage":1875,"toJSONTimeAverage":1416,"input":"{\"v\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Null Value"},"executionTimeAverage":3073,"description":"Null Value"},{"parseTimeAverage":3566,"toJSONTimeAverage":3196,"input":"{\"v\":123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Int Value"},"executionTimeAverage":6705,"description":"Large Int Value"},{"parseTimeAverage":24043,"toJSONTimeAverage":38944,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Int Value"},"executionTimeAverage":46375,"description":"Huge Int Value"},{"parseTimeAverage":6165,"toJSONTimeAverage":5173,"input":"{\"v\":123456789123456789123456789.123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Double Value"},"executionTimeAverage":8381,"description":"Large Double Value"},{"parseTimeAverage":50281,"toJSONTimeAverage":82633,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Double Value"},"executionTimeAverage":109510,"description":"Huge Double Value"},{"parseTimeAverage":3856,"toJSONTimeAverage":5715,"input":"{\"v\":\"\\u2000\\u20ff\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Lowecase Unicode"},"executionTimeAverage":5866,"description":"Lowecase Unicode"},{"parseTimeAverage":2882,"toJSONTimeAverage":4167,"input":"{\"v\":\"\\u2000\\u20FF\"}","result":"PASS","output":"{\"v\":\"\\u2000\\u20ff\"}","test":{"expectedOutputError":false,"description":"Uppercase Unicode"},"executionTimeAverage":5587,"description":"Uppercase Unicode"},{"parseTimeAverage":3328,"toJSONTimeAverage":4737,"input":"{\"v\":\"\\ud801\\udc01\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Surrogate Pair Unicode"},"executionTimeAverage":6146,"description":"Surrogate Pair Unicode"},{"parseTimeAverage":2119,"toJSONTimeAverage":2115,"input":"[1,2,3,4,5]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Number Array"},"executionTimeAverage":3073,"description":"Simple Number Array"},{"parseTimeAverage":8797,"toJSONTimeAverage":12154,"input":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","result":"PASS","output":"[1,-1000,45.65,-2.3E-4,123456789012345678900987654321,3.4E101,-3.0E-101]","test":{"expectedOutputError":false,"description":"Complex Number Array"},"executionTimeAverage":22070,"description":"Complex Number Array"},{"parseTimeAverage":3009,"toJSONTimeAverage":11159,"input":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Array"},"executionTimeAverage":13689,"description":"Simple String Array"},{"parseTimeAverage":1900,"toJSONTimeAverage":1845,"input":"[true,true,false,false,true,false]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Boolean Array"},"executionTimeAverage":3352,"description":"Simple Boolean Array"},{"parseTimeAverage":2829,"toJSONTimeAverage":3986,"input":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Array Array"},"executionTimeAverage":5867,"description":"Deep Array Array"},{"parseTimeAverage":3963,"toJSONTimeAverage":2691,"input":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":5308,"description":"Deep Object Object"},{"parseTimeAverage":4333,"toJSONTimeAverage":3459,"input":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Mixed Object"},"executionTimeAverage":6147,"description":"Mixed Object"}]},{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},"_entries":[{"parseTimeAverage":1169,"toJSONTimeAverage":944,"input":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace"},"executionTimeAverage":1955,"description":"Empty Object With Whitespace"},{"parseTimeAverage":1143,"toJSONTimeAverage":999,"input":" \t\r\n\t {}","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace Before"},"executionTimeAverage":1955,"description":"Empty Object With Whitespace Before"},{"parseTimeAverage":1182,"toJSONTimeAverage":931,"input":"{ \t\r\n\t }","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace During"},"executionTimeAverage":2235,"description":"Empty Object With Whitespace During"},{"parseTimeAverage":1110,"toJSONTimeAverage":911,"input":"{} \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace After"},"executionTimeAverage":1677,"description":"Empty Object With Whitespace After"},{"parseTimeAverage":1139,"toJSONTimeAverage":945,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace"},"executionTimeAverage":1956,"description":"Empty Array With Whitespace"},{"parseTimeAverage":1079,"toJSONTimeAverage":955,"input":" \t\r\n\t []","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace Before"},"executionTimeAverage":1956,"description":"Empty Array With Whitespace Before"},{"parseTimeAverage":1082,"toJSONTimeAverage":958,"input":"[ \t\r\n\t ]","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With During"},"executionTimeAverage":1676,"description":"Empty Array With During"},{"parseTimeAverage":1087,"toJSONTimeAverage":950,"input":"[] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace After"},"executionTimeAverage":2236,"description":"Empty Array With Whitespace After"},{"parseTimeAverage":2367,"toJSONTimeAverage":1920,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[1,2,3,4,5]","test":{"expectedOutputError":false,"description":"Simple Number Array With Whitespace"},"executionTimeAverage":5588,"description":"Simple Number Array With Whitespace"},{"parseTimeAverage":3897,"toJSONTimeAverage":11841,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","test":{"expectedOutputError":false,"description":"Simple String Array With Whitespace"},"executionTimeAverage":13969,"description":"Simple String Array With Whitespace"},{"parseTimeAverage":2777,"toJSONTimeAverage":1897,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[true,true,false,false,true,false]","test":{"expectedOutputError":false,"description":"Simple Boolean Array With Whitespace"},"executionTimeAverage":3911,"description":"Simple Boolean Array With Whitespace"},{"parseTimeAverage":7741,"toJSONTimeAverage":9750,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","result":"PASS","output":"[1,-1000,45.65,-2.3E-4,123456789012345678900987654321,3.4E101,-3.0E-101]","test":{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array With Whitespace"},"executionTimeAverage":15085,"description":"Complex Number Array With Whitespace"},{"parseTimeAverage":4437,"toJSONTimeAverage":4242,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","result":"PASS","output":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","test":{"expectedOutputError":false,"description":"Deep Array Array With Whitespace"},"executionTimeAverage":7264,"description":"Deep Array Array With Whitespace"},{"parseTimeAverage":5003,"toJSONTimeAverage":2762,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":9778,"description":"Deep Object Object"}]},{"testSet":{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},"_entries":[{"parseTimeAverage":0,"result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception: Invalid JSON. Empty String.","test":{"expectedOutputError":true,"description":"Empty String"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception: Invalid JSON. Empty String.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":92,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":4357537,"description":"Empty String"},{"parseTimeAverage":0,"input":"{","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,1): Invalid JSON String. Expecting '\"' but found '\uffff'.","test":{"expectedOutputError":true,"description":"Open Object"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,1): Invalid JSON String. Expecting '\"' but found '\uffff'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":257,"methodName":"parseString","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":184,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":241371,"description":"Open Object"},{"parseTimeAverage":0,"input":"[","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,1): Invalid JSON. Unexpected value '\uffff'.","test":{"expectedOutputError":true,"description":"Open Array"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,1): Invalid JSON. Unexpected value '\uffff'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":164,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":230,"methodName":"parseArray","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":98,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":108393,"description":"Open Array"},{"parseTimeAverage":0,"input":"{\"v\":1234","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,9): Invalid JSON Array. Expecting '}' but found '\uffff'.","test":{"expectedOutputError":true,"description":"Unclosed Object"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,9): Invalid JSON Array. Expecting '}' but found '\uffff'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":210,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":122921,"description":"Unclosed Object"},{"parseTimeAverage":0,"input":"{\"v\":1234}$ifsisg045","result":"FAIL","output":"{\"v\":1234}","test":{"expectedOutputError":true,"description":"Object with trailing junk"},"executionTimeAverage":11453,"description":"Object with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4]$ifsisg045","result":"FAIL","output":"[1,2,3,4]","test":{"expectedOutputError":true,"description":"Array with trailing junk"},"executionTimeAverage":7542,"description":"Array with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,8): Invalid JSON Array. Expecting ']' but found '\uffff'.","test":{"expectedOutputError":true,"description":"Unclosed Array"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,8): Invalid JSON Array. Expecting ']' but found '\uffff'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":241,"methodName":"parseArray","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":98,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":114540,"description":"Unclosed Array"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\tAfter\"}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\t'.","test":{"expectedOutputError":true,"description":"Tab in JSON String"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\t'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":350,"methodName":"parseString","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":154,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$8","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":121,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$8","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":121,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":152813,"description":"Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u0009After\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Tab in JSON String"},"executionTimeAverage":33524,"description":"Unicode Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\nAfter\"}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\n'.","test":{"expectedOutputError":true,"description":"Newline in JSON String"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\n'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":350,"methodName":"parseString","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":154,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$10","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":146,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$10","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":146,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":97219,"description":"Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000AAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Newline in JSON String"},"executionTimeAverage":29891,"description":"Unicode Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\rAfter\"}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\r'.","test":{"expectedOutputError":true,"description":"Return in JSON String"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\r'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":350,"methodName":"parseString","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":154,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$12","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":171,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$12","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":171,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":99454,"description":"Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000DAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Return in JSON String"},"executionTimeAverage":29053,"description":"Unicode Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\fAfter\"}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\f'.","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,13): Invalid JSON. Invalid Character Found '\f'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":350,"methodName":"parseString","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":154,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$14","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":195,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$14","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":195,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":146108,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000CAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":29613,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"array\":[1,2],\"array\":[3,4]}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,22): Invalid JSON. The attribute 'array' is already used on the current object.","test":{"expectedOutputError":true,"description":"Same Key Behaviour"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,22): Invalid JSON. The attribute 'array' is already used on the current object.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":196,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$16","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":219,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$16","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":219,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":109231,"description":"Same Key Behaviour"},{"parseTimeAverage":0,"input":"{\"v\":1234567890987654321E234E343}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,29): Invalid JSON Array. Expecting '}' but found 'E'.","test":{"expectedOutputError":true,"description":"Double Exponent Number"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,29): Invalid JSON Array. Expecting '}' but found 'E'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":210,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":262323,"description":"Double Exponent Number"},{"parseTimeAverage":0,"input":"{\"v\":12345678909876A}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,20): Invalid JSON Array. Expecting '}' but found 'A'.","test":{"expectedOutputError":true,"description":"Likely Number"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,20): Invalid JSON Array. Expecting '}' but found 'A'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":210,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":107276,"description":"Likely Number"},{"parseTimeAverage":0,"input":"{\"v\":TRUE}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,6): Invalid JSON. Unexpected value 'T'.","test":{"expectedOutputError":true,"description":"Uppercase True"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,6): Invalid JSON. Unexpected value 'T'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":164,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":96940,"description":"Uppercase True"},{"parseTimeAverage":0,"input":"{\"v\":FALSE}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,6): Invalid JSON. Unexpected value 'F'.","test":{"expectedOutputError":true,"description":"Uppercase False"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,6): Invalid JSON. Unexpected value 'F'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":164,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":119568,"description":"Uppercase False"},{"parseTimeAverage":0,"input":"{\"v\":NULL}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,6): Invalid JSON. Unexpected value 'N'.","test":{"expectedOutputError":true,"description":"Uppercase Null"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,6): Invalid JSON. Unexpected value 'N'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":164,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":95822,"description":"Uppercase Null"},{"parseTimeAverage":0,"input":"{\"v\":trUe}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,8): Invalid JSON. Error while parsing 'true' and found 'U'.","test":{"expectedOutputError":true,"description":"Mixed Case True"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,8): Invalid JSON. Error while parsing 'true' and found 'U'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":463,"methodName":"parseTrue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":158,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":117613,"description":"Mixed Case True"},{"parseTimeAverage":0,"input":"{\"v\":faLse}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,8): Invalid JSON. Error while parsing 'false' and found 'L'.","test":{"expectedOutputError":true,"description":"Mixed Case False"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,8): Invalid JSON. Error while parsing 'false' and found 'L'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":484,"methodName":"parseFalse","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":160,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":114819,"description":"Mixed Case False"},{"parseTimeAverage":0,"input":"{\"v\":nuLl}","result":"PASS","output":"jsonij.json.JSONParserException: Parsing Exception (1,8): Invalid JSON. Error while parsing 'null' and found 'L'.","test":{"expectedOutputError":true,"description":"Mixed Case Null"},"exception":{"libraryException":{"bundleName":"JSONMessageBundle","message":"Parsing Exception (1,8): Invalid JSON. Error while parsing 'null' and found 'L'.","stackTrace":[{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":505,"methodName":"parseNull","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":162,"methodName":"parseValue","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":190,"methodName":"parseObject","nativeMethod":false},{"className":"jsonij.json.JSONParser","fileName":"JSONParser.java","lineNumber":96,"methodName":"parse","nativeMethod":false},{"className":"jsonij.json.JSON","fileName":"JSON.java","lineNumber":229,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"stackTrace":[{"className":"cc.plural.json.library.JSONiJLibrary","fileName":"JSONiJLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":114819,"description":"Mixed Case Null"}]},{"testSet":{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]},"_entries":[{"parseTimeAverage":12966,"toJSONTimeAverage":14919,"input":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","result":"PASS","output":"{\"Image\":{\"Width\":800,\"Height\":600,\"Title\":\"View from 15th Floor\",\"Thumbnail\":{\"Url\":\"http:\\\/\\\/www.example.com\\\/image\\\/481989943\",\"Height\":125,\"Width\":\"100\"},\"IDs\":[116,943,234,38793]}}","test":{"expectedOutputError":false,"description":"JSON Spec Example One"},"executionTimeAverage":53079,"description":"JSON Spec Example One"},{"parseTimeAverage":20455,"toJSONTimeAverage":37407,"input":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","result":"PASS","output":"[{\"precision\":\"zip\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"Address\":\"\",\"City\":\"SAN FRANCISCO\",\"State\":\"CA\",\"Zip\":\"94107\",\"Country\":\"US\"},{\"precision\":\"zip\",\"Latitude\":37.371991,\"Longitude\":-122.02602,\"Address\":\"\",\"City\":\"SUNNYVALE\",\"State\":\"CA\",\"Zip\":\"94085\",\"Country\":\"US\"}]","test":{"expectedOutputError":false,"description":"JSON Spec Example Two"},"executionTimeAverage":47493,"description":"JSON Spec Example Two"},{"parseTimeAverage":17105,"toJSONTimeAverage":28744,"input":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","result":"PASS","output":"{\"firstName\":\"John\",\"lastName\":\"Smith\",\"age\":25,\"address\":{\"streetAddress\":\"21 2nd Street\",\"city\":\"New York\",\"state\":\"NY\",\"postalCode\":\"10021\"},\"phoneNumber\":[{\"type\":\"home\",\"number\":\"212 555-1234\"},{\"type\":\"fax\",\"number\":\"646 555-4567\"}]}","test":{"expectedOutputError":false,"description":"Wikipedia JSON Page Example One"},"executionTimeAverage":37715,"description":"Wikipedia JSON Page Example One"}]}]}},{"library":{"url":"http:\/\/code.google.com\/p\/json-simple\/","name":"JSON Simple","version":"1.1"},"result":{"testSuite":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"testLibrary":{"url":"http:\/\/code.google.com\/p\/json-simple\/","name":"JSON Simple","version":"1.1"},"_entries":[{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},"_entries":[{"parseTimeAverage":2509,"toJSONTimeAverage":1307,"input":"{}","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Object"},"executionTimeAverage":1956,"description":"Empty Object"},{"parseTimeAverage":1456,"toJSONTimeAverage":1139,"input":"[]","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Array"},"executionTimeAverage":1956,"description":"Empty Array"},{"parseTimeAverage":2406,"toJSONTimeAverage":1726,"input":"{\"v\":1337}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Integer"},"executionTimeAverage":3073,"description":"Simple Integer"},{"parseTimeAverage":2108,"toJSONTimeAverage":1447,"input":"{\"v\":-5678}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Integer"},"executionTimeAverage":9498,"description":"Simple Negative Integer"},{"parseTimeAverage":2128,"toJSONTimeAverage":2263,"input":"{\"v\":3.1415}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Decimal"},"executionTimeAverage":3912,"description":"Simple Decimal"},{"parseTimeAverage":2186,"toJSONTimeAverage":2294,"input":"{\"v\":-0.01223}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Decimal"},"executionTimeAverage":3911,"description":"Simple Negative Decimal"},{"parseTimeAverage":2093,"toJSONTimeAverage":1654,"input":"{\"v\":\"String\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Value"},"executionTimeAverage":3353,"description":"Simple String Value"},{"parseTimeAverage":3491,"toJSONTimeAverage":3764,"input":"{\"PI\":3.141E100}","result":"PASS","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},"executionTimeAverage":6147,"description":"Exponent Decimal Value Uppercase"},{"parseTimeAverage":4063,"toJSONTimeAverage":4492,"input":"{\"PI\":3.141e-99}","result":"PASS","output":"{\"PI\":3.141E-99}","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},"executionTimeAverage":6983,"description":"Exponent Decimal Value Lowercase"},{"parseTimeAverage":2002,"toJSONTimeAverage":1345,"input":"{\"v\":true}","result":"PASS","test":{"expectedOutputError":false,"description":"True Value"},"executionTimeAverage":4470,"description":"True Value"},{"parseTimeAverage":1943,"toJSONTimeAverage":1326,"input":"{\"v\":false}","result":"PASS","test":{"expectedOutputError":false,"description":"False Value"},"executionTimeAverage":2793,"description":"False Value"},{"parseTimeAverage":1860,"toJSONTimeAverage":1282,"input":"{\"v\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Null Value"},"executionTimeAverage":3911,"description":"Null Value"},{"parseTimeAverage":0,"input":"{\"v\":123456789123456789123456789}","result":"FAIL","test":{"expectedOutputError":false,"description":"Large Int Value"},"description":"Large Int Value"},{"parseTimeAverage":0,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"FAIL","test":{"expectedOutputError":false,"description":"Huge Int Value"},"description":"Huge Int Value"},{"parseTimeAverage":8503,"toJSONTimeAverage":7186,"input":"{\"v\":123456789123456789123456789.123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E26}","test":{"expectedOutputError":false,"description":"Large Double Value"},"executionTimeAverage":9778,"description":"Large Double Value"},{"parseTimeAverage":32750,"toJSONTimeAverage":11570,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E161}","test":{"expectedOutputError":false,"description":"Huge Double Value"},"executionTimeAverage":37435,"description":"Huge Double Value"},{"parseTimeAverage":2609,"toJSONTimeAverage":2403,"input":"{\"v\":\"\\u2000\\u20ff\"}","result":"PASS","output":"{\"v\":\"\\u2000\\u20FF\"}","test":{"expectedOutputError":false,"description":"Lowecase Unicode"},"executionTimeAverage":4470,"description":"Lowecase Unicode"},{"parseTimeAverage":2606,"toJSONTimeAverage":2336,"input":"{\"v\":\"\\u2000\\u20FF\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Uppercase Unicode"},"executionTimeAverage":3912,"description":"Uppercase Unicode"},{"parseTimeAverage":2523,"toJSONTimeAverage":1629,"input":"{\"v\":\"\\ud801\\udc01\"}","result":"PASS","output":"{\"v\":\"\ud801\udc01\"}","test":{"expectedOutputError":false,"description":"Surrogate Pair Unicode"},"executionTimeAverage":3911,"description":"Surrogate Pair Unicode"},{"parseTimeAverage":2308,"toJSONTimeAverage":1798,"input":"[1,2,3,4,5]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Number Array"},"executionTimeAverage":3353,"description":"Simple Number Array"},{"parseTimeAverage":0,"input":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","result":"FAIL","test":{"expectedOutputError":false,"description":"Complex Number Array"},"description":"Complex Number Array"},{"parseTimeAverage":3321,"toJSONTimeAverage":3419,"input":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Array"},"executionTimeAverage":7542,"description":"Simple String Array"},{"parseTimeAverage":2792,"toJSONTimeAverage":1869,"input":"[true,true,false,false,true,false]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Boolean Array"},"executionTimeAverage":3912,"description":"Simple Boolean Array"},{"parseTimeAverage":6730,"toJSONTimeAverage":5570,"input":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Array Array"},"executionTimeAverage":11733,"description":"Deep Array Array"},{"parseTimeAverage":6211,"toJSONTimeAverage":4740,"input":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"w\":{},\"v\":{}}}}}}","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":11454,"description":"Deep Object Object"},{"parseTimeAverage":5974,"toJSONTimeAverage":4808,"input":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","result":"PASS","output":"{\"null\":null,\"array\":[1,0.2,true,false,null,{\"v\":[]}]}","test":{"expectedOutputError":false,"description":"Mixed Object"},"executionTimeAverage":9498,"description":"Mixed Object"}]},{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},"_entries":[{"parseTimeAverage":1633,"toJSONTimeAverage":1061,"input":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace"},"executionTimeAverage":2514,"description":"Empty Object With Whitespace"},{"parseTimeAverage":1436,"toJSONTimeAverage":1115,"input":" \t\r\n\t {}","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace Before"},"executionTimeAverage":2515,"description":"Empty Object With Whitespace Before"},{"parseTimeAverage":1613,"toJSONTimeAverage":1186,"input":"{ \t\r\n\t }","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace During"},"executionTimeAverage":2234,"description":"Empty Object With Whitespace During"},{"parseTimeAverage":1507,"toJSONTimeAverage":1213,"input":"{} \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace After"},"executionTimeAverage":2513,"description":"Empty Object With Whitespace After"},{"parseTimeAverage":2178,"toJSONTimeAverage":1292,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace"},"executionTimeAverage":3352,"description":"Empty Array With Whitespace"},{"parseTimeAverage":1491,"toJSONTimeAverage":1176,"input":" \t\r\n\t []","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace Before"},"executionTimeAverage":2235,"description":"Empty Array With Whitespace Before"},{"parseTimeAverage":1762,"toJSONTimeAverage":1265,"input":"[ \t\r\n\t ]","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With During"},"executionTimeAverage":4470,"description":"Empty Array With During"},{"parseTimeAverage":1667,"toJSONTimeAverage":1245,"input":"[] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace After"},"executionTimeAverage":2235,"description":"Empty Array With Whitespace After"},{"parseTimeAverage":3631,"toJSONTimeAverage":2062,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[1,2,3,4,5]","test":{"expectedOutputError":false,"description":"Simple Number Array With Whitespace"},"executionTimeAverage":4470,"description":"Simple Number Array With Whitespace"},{"parseTimeAverage":4819,"toJSONTimeAverage":3715,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","test":{"expectedOutputError":false,"description":"Simple String Array With Whitespace"},"executionTimeAverage":7263,"description":"Simple String Array With Whitespace"},{"parseTimeAverage":4333,"toJSONTimeAverage":2015,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[true,true,false,false,true,false]","test":{"expectedOutputError":false,"description":"Simple Boolean Array With Whitespace"},"executionTimeAverage":6426,"description":"Simple Boolean Array With Whitespace"},{"parseTimeAverage":0,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","result":"FAIL","test":{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array With Whitespace"},"description":"Complex Number Array With Whitespace"},{"parseTimeAverage":9427,"toJSONTimeAverage":5839,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","result":"PASS","output":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","test":{"expectedOutputError":false,"description":"Deep Array Array With Whitespace"},"executionTimeAverage":12013,"description":"Deep Array Array With Whitespace"},{"parseTimeAverage":7859,"toJSONTimeAverage":4362,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"w\":{},\"v\":{}}}}}}","test":{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":10616,"description":"Deep Object Object"}]},{"testSet":{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},"_entries":[{"parseTimeAverage":0,"result":"PASS","output":"Unexpected token END OF FILE at position 0.","test":{"expectedOutputError":true,"description":"Empty String"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":{"TYPE_RIGHT_BRACE":2,"TYPE_LEFT_SQUARE":3,"TYPE_RIGHT_SQUARE":4,"TYPE_COMMA":5,"TYPE_COLON":6,"TYPE_EOF":-1},"stackTrace":[{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":246120,"description":"Empty String"},{"parseTimeAverage":0,"input":"{","result":"PASS","output":"Unexpected token END OF FILE at position 1.","test":{"expectedOutputError":true,"description":"Open Object"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":{"TYPE_RIGHT_BRACE":2,"TYPE_LEFT_SQUARE":3,"TYPE_RIGHT_SQUARE":4,"TYPE_COMMA":5,"TYPE_COLON":6,"TYPE_EOF":-1},"stackTrace":[{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":23467,"description":"Open Object"},{"parseTimeAverage":0,"input":"[","result":"PASS","output":"Unexpected token END OF FILE at position 1.","test":{"expectedOutputError":true,"description":"Open Array"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":{"TYPE_RIGHT_BRACE":2,"TYPE_LEFT_SQUARE":3,"TYPE_RIGHT_SQUARE":4,"TYPE_COMMA":5,"TYPE_COLON":6,"TYPE_EOF":-1},"stackTrace":[{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":18717,"description":"Open Array"},{"parseTimeAverage":0,"input":"{\"v\":1234","result":"PASS","output":"Unexpected token END OF FILE at position 9.","test":{"expectedOutputError":true,"description":"Unclosed Object"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":{"TYPE_RIGHT_BRACE":2,"TYPE_LEFT_SQUARE":3,"TYPE_RIGHT_SQUARE":4,"TYPE_COMMA":5,"TYPE_COLON":6,"TYPE_EOF":-1},"position":9,"stackTrace":[{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":23187,"description":"Unclosed Object"},{"parseTimeAverage":0,"input":"{\"v\":1234}$ifsisg045","result":"PASS","output":"Unexpected character ($) at position 10.","test":{"expectedOutputError":true,"description":"Object with trailing junk"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":10,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$5","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":85,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$5","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":85,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":63695,"description":"Object with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4]$ifsisg045","result":"PASS","output":"Unexpected character ($) at position 9.","test":{"expectedOutputError":true,"description":"Array with trailing junk"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":9,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$6","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$6","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":96,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":26261,"description":"Array with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4","result":"PASS","output":"Unexpected token END OF FILE at position 8.","test":{"expectedOutputError":true,"description":"Unclosed Array"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":{"TYPE_RIGHT_BRACE":2,"TYPE_LEFT_SQUARE":3,"TYPE_RIGHT_SQUARE":4,"TYPE_COMMA":5,"TYPE_COLON":6,"TYPE_EOF":-1},"position":8,"stackTrace":[{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":26540,"description":"Unclosed Array"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\tAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Tab in JSON String"},"executionTimeAverage":23466,"description":"Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u0009After\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Tab in JSON String"},"executionTimeAverage":10337,"description":"Unicode Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\nAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Newline in JSON String"},"executionTimeAverage":23187,"description":"Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000AAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Newline in JSON String"},"executionTimeAverage":10895,"description":"Unicode Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\rAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Return in JSON String"},"executionTimeAverage":16483,"description":"Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000DAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Return in JSON String"},"executionTimeAverage":10895,"description":"Unicode Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\fAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":17601,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000CAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":12012,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"array\":[1,2],\"array\":[3,4]}","result":"FAIL","output":"{\"array\":[3,4]}","test":{"expectedOutputError":true,"description":"Same Key Behaviour"},"executionTimeAverage":21231,"description":"Same Key Behaviour"},{"parseTimeAverage":0,"input":"{\"v\":1234567890987654321E234E343}","result":"PASS","output":"Unexpected character (E) at position 28.","test":{"expectedOutputError":true,"description":"Double Exponent Number"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":28,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":49447,"description":"Double Exponent Number"},{"parseTimeAverage":0,"input":"{\"v\":12345678909876A}","result":"PASS","output":"Unexpected character (A) at position 19.","test":{"expectedOutputError":true,"description":"Likely Number"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":19,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":18997,"description":"Likely Number"},{"parseTimeAverage":0,"input":"{\"v\":TRUE}","result":"PASS","output":"Unexpected character (T) at position 5.","test":{"expectedOutputError":true,"description":"Uppercase True"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":5,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":17320,"description":"Uppercase True"},{"parseTimeAverage":0,"input":"{\"v\":FALSE}","result":"PASS","output":"Unexpected character (F) at position 5.","test":{"expectedOutputError":true,"description":"Uppercase False"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":5,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":17041,"description":"Uppercase False"},{"parseTimeAverage":0,"input":"{\"v\":NULL}","result":"PASS","output":"Unexpected character (N) at position 5.","test":{"expectedOutputError":true,"description":"Uppercase Null"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":5,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":20394,"description":"Uppercase Null"},{"parseTimeAverage":0,"input":"{\"v\":trUe}","result":"PASS","output":"Unexpected character (t) at position 5.","test":{"expectedOutputError":true,"description":"Mixed Case True"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":5,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":21511,"description":"Mixed Case True"},{"parseTimeAverage":0,"input":"{\"v\":faLse}","result":"PASS","output":"Unexpected character (f) at position 5.","test":{"expectedOutputError":true,"description":"Mixed Case False"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":5,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":24304,"description":"Mixed Case False"},{"parseTimeAverage":0,"input":"{\"v\":nuLl}","result":"PASS","output":"Unexpected character (n) at position 5.","test":{"expectedOutputError":true,"description":"Mixed Case Null"},"exception":{"libraryException":{"unexpectedObject":"java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String","position":5,"stackTrace":[{"className":"org.json.simple.parser.Yylex","lineNumber":-1,"methodName":"yylex","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"nextToken","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"org.json.simple.parser.JSONParser","lineNumber":-1,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":81,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_EXCEPTION":2},"stackTrace":[{"className":"cc.plural.json.library.JSONSimpleLibrary","fileName":"JSONSimpleLibrary.java","lineNumber":87,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":29054,"description":"Mixed Case Null"}]},{"testSet":{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]},"_entries":[{"parseTimeAverage":11693,"toJSONTimeAverage":10019,"input":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","result":"PASS","output":"{\"Image\":{\"IDs\":[116,943,234,38793],\"Height\":600,\"Width\":800,\"Thumbnail\":{\"Url\":\"http:\\\/\\\/www.example.com\\\/image\\\/481989943\",\"Height\":125,\"Width\":\"100\"},\"Title\":\"View from 15th Floor\"}}","test":{"expectedOutputError":false,"description":"JSON Spec Example One"},"executionTimeAverage":17600,"description":"JSON Spec Example One"},{"parseTimeAverage":20193,"toJSONTimeAverage":18330,"input":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","result":"PASS","output":"[{\"precision\":\"zip\",\"State\":\"CA\",\"Address\":\"\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"Zip\":\"94107\",\"Country\":\"US\",\"City\":\"SAN FRANCISCO\"},{\"precision\":\"zip\",\"State\":\"CA\",\"Address\":\"\",\"Latitude\":37.371991,\"Longitude\":-122.02602,\"Zip\":\"94085\",\"Country\":\"US\",\"City\":\"SUNNYVALE\"}]","test":{"expectedOutputError":false,"description":"JSON Spec Example Two"},"executionTimeAverage":37156,"description":"JSON Spec Example Two"},{"parseTimeAverage":16067,"toJSONTimeAverage":13839,"input":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","result":"PASS","output":"{\"lastName\":\"Smith\",\"phoneNumber\":[{\"number\":\"212 555-1234\",\"type\":\"home\"},{\"number\":\"646 555-4567\",\"type\":\"fax\"}],\"address\":{\"streetAddress\":\"21 2nd Street\",\"postalCode\":\"10021\",\"state\":\"NY\",\"city\":\"New York\"},\"age\":25,\"firstName\":\"John\"}","test":{"expectedOutputError":false,"description":"Wikipedia JSON Page Example One"},"executionTimeAverage":24026,"description":"Wikipedia JSON Page Example One"}]}]}},{"library":{"url":"http:\/\/code.google.com\/p\/json-smart\/","name":"JSON Smart","version":"1.0.6.2"},"result":{"testSuite":{"testSetCount":4,"_entries":[{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]}]},"testLibrary":{"url":"http:\/\/code.google.com\/p\/json-smart\/","name":"JSON Smart","version":"1.0.6.2"},"_entries":[{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation Test Set","description":"These are common parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{}","expectedOutputError":false,"description":"Empty Object"},{"expectedOutput":"[]","expectedOutputError":false,"description":"Empty Array"},{"expectedOutput":"{\"v\":1337}","expectedOutputError":false,"description":"Simple Integer"},{"expectedOutput":"{\"v\":-5678}","expectedOutputError":false,"description":"Simple Negative Integer"},{"expectedOutput":"{\"v\":3.1415}","expectedOutputError":false,"description":"Simple Decimal"},{"expectedOutput":"{\"v\":-0.01223}","expectedOutputError":false,"description":"Simple Negative Decimal"},{"expectedOutput":"{\"v\":\"String\"}","expectedOutputError":false,"description":"Simple String Value"},{"expectedOutput":"{\"PI\":3.141E100}","expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},{"expectedOutput":"{\"PI\":3.141e-99}","expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},{"expectedOutput":"{\"v\":true}","expectedOutputError":false,"description":"True Value"},{"expectedOutput":"{\"v\":false}","expectedOutputError":false,"description":"False Value"},{"expectedOutput":"{\"v\":null}","expectedOutputError":false,"description":"Null Value"},{"expectedOutput":"{\"v\":123456789123456789123456789}","expectedOutputError":false,"description":"Large Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Int Value"},{"expectedOutput":"{\"v\":123456789123456789123456789.123456789123456789123456789}","expectedOutputError":false,"description":"Large Double Value"},{"expectedOutput":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","expectedOutputError":false,"description":"Huge Double Value"},{"expectedOutput":"{\"v\":\"\\u2000\\u20ff\"}","expectedOutputError":false,"description":"Lowecase Unicode"},{"expectedOutput":"{\"v\":\"\\u2000\\u20FF\"}","expectedOutputError":false,"description":"Uppercase Unicode"},{"expectedOutput":"{\"v\":\"\\ud801\\udc01\"}","expectedOutputError":false,"description":"Surrogate Pair Unicode"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"description":"Simple Number Array"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"description":"Simple String Array"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"description":"Simple Boolean Array"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"description":"Deep Array Array"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},{"expectedOutput":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","expectedOutputError":false,"description":"Mixed Object"}]},"_entries":[{"parseTimeAverage":1457,"toJSONTimeAverage":1216,"input":"{}","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Object"},"executionTimeAverage":1956,"description":"Empty Object"},{"parseTimeAverage":1131,"toJSONTimeAverage":1177,"input":"[]","result":"PASS","test":{"expectedOutputError":false,"description":"Empty Array"},"executionTimeAverage":2234,"description":"Empty Array"},{"parseTimeAverage":1525,"toJSONTimeAverage":1552,"input":"{\"v\":1337}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Integer"},"executionTimeAverage":2235,"description":"Simple Integer"},{"parseTimeAverage":1607,"toJSONTimeAverage":1549,"input":"{\"v\":-5678}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Integer"},"executionTimeAverage":2236,"description":"Simple Negative Integer"},{"parseTimeAverage":1431,"toJSONTimeAverage":2320,"input":"{\"v\":3.1415}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Decimal"},"executionTimeAverage":3073,"description":"Simple Decimal"},{"parseTimeAverage":1431,"toJSONTimeAverage":2196,"input":"{\"v\":-0.01223}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Negative Decimal"},"executionTimeAverage":3352,"description":"Simple Negative Decimal"},{"parseTimeAverage":1157,"toJSONTimeAverage":1356,"input":"{\"v\":\"String\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Value"},"executionTimeAverage":2235,"description":"Simple String Value"},{"parseTimeAverage":3002,"toJSONTimeAverage":3913,"input":"{\"PI\":3.141E100}","result":"PASS","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Uppercase"},"executionTimeAverage":5586,"description":"Exponent Decimal Value Uppercase"},{"parseTimeAverage":3443,"toJSONTimeAverage":4405,"input":"{\"PI\":3.141e-99}","result":"PASS","output":"{\"PI\":3.141E-99}","test":{"expectedOutputError":false,"description":"Exponent Decimal Value Lowercase"},"executionTimeAverage":6146,"description":"Exponent Decimal Value Lowercase"},{"parseTimeAverage":1321,"toJSONTimeAverage":1258,"input":"{\"v\":true}","result":"PASS","test":{"expectedOutputError":false,"description":"True Value"},"executionTimeAverage":2513,"description":"True Value"},{"parseTimeAverage":1262,"toJSONTimeAverage":1300,"input":"{\"v\":false}","result":"PASS","test":{"expectedOutputError":false,"description":"False Value"},"executionTimeAverage":2515,"description":"False Value"},{"parseTimeAverage":1307,"toJSONTimeAverage":1249,"input":"{\"v\":null}","result":"PASS","test":{"expectedOutputError":false,"description":"Null Value"},"executionTimeAverage":2235,"description":"Null Value"},{"parseTimeAverage":2208,"toJSONTimeAverage":2923,"input":"{\"v\":123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Large Int Value"},"executionTimeAverage":4191,"description":"Large Int Value"},{"parseTimeAverage":16841,"toJSONTimeAverage":34169,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"PASS","test":{"expectedOutputError":false,"description":"Huge Int Value"},"executionTimeAverage":43301,"description":"Huge Int Value"},{"parseTimeAverage":6280,"toJSONTimeAverage":5947,"input":"{\"v\":123456789123456789123456789.123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E26}","test":{"expectedOutputError":false,"description":"Large Double Value"},"executionTimeAverage":13969,"description":"Large Double Value"},{"parseTimeAverage":34076,"toJSONTimeAverage":12634,"input":"{\"v\":123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789.123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789}","result":"FAIL","output":"{\"v\":1.2345678912345679E161}","test":{"expectedOutputError":false,"description":"Huge Double Value"},"executionTimeAverage":56991,"description":"Huge Double Value"},{"parseTimeAverage":1876,"toJSONTimeAverage":1859,"input":"{\"v\":\"\\u2000\\u20ff\"}","result":"PASS","output":"{\"v\":\"\\u2000\\u20FF\"}","test":{"expectedOutputError":false,"description":"Lowecase Unicode"},"executionTimeAverage":3352,"description":"Lowecase Unicode"},{"parseTimeAverage":1711,"toJSONTimeAverage":1841,"input":"{\"v\":\"\\u2000\\u20FF\"}","result":"PASS","test":{"expectedOutputError":false,"description":"Uppercase Unicode"},"executionTimeAverage":2794,"description":"Uppercase Unicode"},{"parseTimeAverage":1710,"toJSONTimeAverage":1548,"input":"{\"v\":\"\\ud801\\udc01\"}","result":"PASS","output":"{\"v\":\"\ud801\udc01\"}","test":{"expectedOutputError":false,"description":"Surrogate Pair Unicode"},"executionTimeAverage":2794,"description":"Surrogate Pair Unicode"},{"parseTimeAverage":1840,"toJSONTimeAverage":2006,"input":"[1,2,3,4,5]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Number Array"},"executionTimeAverage":3353,"description":"Simple Number Array"},{"parseTimeAverage":6040,"toJSONTimeAverage":10429,"input":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","result":"PASS","output":"[1,-1000,45.65,-2.3E-4,123456789012345678900987654321,3.4E101,-3.0E-101]","test":{"expectedOutputError":false,"description":"Complex Number Array"},"executionTimeAverage":13131,"description":"Complex Number Array"},{"parseTimeAverage":1410,"toJSONTimeAverage":1772,"input":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple String Array"},"executionTimeAverage":3072,"description":"Simple String Array"},{"parseTimeAverage":1883,"toJSONTimeAverage":1850,"input":"[true,true,false,false,true,false]","result":"PASS","test":{"expectedOutputError":false,"description":"Simple Boolean Array"},"executionTimeAverage":3352,"description":"Simple Boolean Array"},{"parseTimeAverage":2349,"toJSONTimeAverage":4404,"input":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","result":"PASS","test":{"expectedOutputError":false,"description":"Deep Array Array"},"executionTimeAverage":9219,"description":"Deep Array Array"},{"parseTimeAverage":2424,"toJSONTimeAverage":2869,"input":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"w\":{},\"v\":{}}}}}}","test":{"expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":4470,"description":"Deep Object Object"},{"parseTimeAverage":2984,"toJSONTimeAverage":3983,"input":"{\"array\":[1,0.2,true,false,null,{\"v\":[]}],\"null\":null}","result":"PASS","output":"{\"null\":null,\"array\":[1,0.2,true,false,null,{\"v\":[]}]}","test":{"expectedOutputError":false,"description":"Mixed Object"},"executionTimeAverage":7823,"description":"Mixed Object"}]},{"testSet":{"name":"Strict RFC4627 Parsing and Serialisation With Whitespace Test Set","description":"These are common parsing and serialisation cases but also include all cases where whitespace is common for the RFC4627 specification.","_entries":[{"expectedOutput":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","expectedOutputError":false,"description":"Empty Object With Whitespace"},{"expectedOutput":"{}","expectedOutputError":false,"input":" \t\r\n\t {}","description":"Empty Object With Whitespace Before"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{ \t\r\n\t }","description":"Empty Object With Whitespace During"},{"expectedOutput":"{}","expectedOutputError":false,"input":"{} \t\r\n\t ","description":"Empty Object With Whitespace After"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","description":"Empty Array With Whitespace"},{"expectedOutput":"[]","expectedOutputError":false,"input":" \t\r\n\t []","description":"Empty Array With Whitespace Before"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[ \t\r\n\t ]","description":"Empty Array With During"},{"expectedOutput":"[]","expectedOutputError":false,"input":"[] \t\r\n\t ","description":"Empty Array With Whitespace After"},{"expectedOutput":"[1,2,3,4,5]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","description":"Simple Number Array With Whitespace"},{"expectedOutput":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","description":"Simple String Array With Whitespace"},{"expectedOutput":"[true,true,false,false,true,false]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","description":"Simple Boolean Array With Whitespace"},{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","description":"Complex Number Array With Whitespace"},{"expectedOutput":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","expectedOutputError":false,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","description":"Deep Array Array With Whitespace"},{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","description":"Deep Object Object"}]},"_entries":[{"parseTimeAverage":1085,"toJSONTimeAverage":1030,"input":" \t\r\n\t { \t\r\n\t } \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace"},"executionTimeAverage":1955,"description":"Empty Object With Whitespace"},{"parseTimeAverage":1086,"toJSONTimeAverage":1012,"input":" \t\r\n\t {}","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace Before"},"executionTimeAverage":1955,"description":"Empty Object With Whitespace Before"},{"parseTimeAverage":1076,"toJSONTimeAverage":1009,"input":"{ \t\r\n\t }","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace During"},"executionTimeAverage":1955,"description":"Empty Object With Whitespace During"},{"parseTimeAverage":1025,"toJSONTimeAverage":1064,"input":"{} \t\r\n\t ","result":"PASS","output":"{}","test":{"expectedOutputError":false,"description":"Empty Object With Whitespace After"},"executionTimeAverage":1955,"description":"Empty Object With Whitespace After"},{"parseTimeAverage":1065,"toJSONTimeAverage":1097,"input":" \t\r\n\t [ \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace"},"executionTimeAverage":2236,"description":"Empty Array With Whitespace"},{"parseTimeAverage":1020,"toJSONTimeAverage":1053,"input":" \t\r\n\t []","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace Before"},"executionTimeAverage":1676,"description":"Empty Array With Whitespace Before"},{"parseTimeAverage":971,"toJSONTimeAverage":1043,"input":"[ \t\r\n\t ]","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With During"},"executionTimeAverage":1956,"description":"Empty Array With During"},{"parseTimeAverage":935,"toJSONTimeAverage":1002,"input":"[] \t\r\n\t ","result":"PASS","output":"[]","test":{"expectedOutputError":false,"description":"Empty Array With Whitespace After"},"executionTimeAverage":1955,"description":"Empty Array With Whitespace After"},{"parseTimeAverage":2166,"toJSONTimeAverage":1659,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t 2 \t\r\n\t , \t\r\n\t 3 \t\r\n\t , \t\r\n\t 4 \t\r\n\t , \t\r\n\t 5 \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[1,2,3,4,5]","test":{"expectedOutputError":false,"description":"Simple Number Array With Whitespace"},"executionTimeAverage":4469,"description":"Simple Number Array With Whitespace"},{"parseTimeAverage":2088,"toJSONTimeAverage":1764,"input":" \t\r\n\t [ \t\r\n\t \"One\" \t\r\n\t , \t\r\n\t \"2\" \t\r\n\t , \t\r\n\t \"three\" \t\r\n\t , \t\r\n\t \"4\" \t\r\n\t , \t\r\n\t \"five\" \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[\"One\",\"2\",\"three\",\"4\",\"five\"]","test":{"expectedOutputError":false,"description":"Simple String Array With Whitespace"},"executionTimeAverage":3073,"description":"Simple String Array With Whitespace"},{"parseTimeAverage":2968,"toJSONTimeAverage":1878,"input":" \t\r\n\t [ \t\r\n\t true \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t false \t\r\n\t , \t\r\n\t true \t\r\n\t , \t\r\n\t false \t\r\n\t ] \t\r\n\t ","result":"PASS","output":"[true,true,false,false,true,false]","test":{"expectedOutputError":false,"description":"Simple Boolean Array With Whitespace"},"executionTimeAverage":3911,"description":"Simple Boolean Array With Whitespace"},{"parseTimeAverage":6472,"toJSONTimeAverage":9620,"input":" \t\r\n\t [ \t\r\n\t 1 \t\r\n\t , \t\r\n\t -1000 \t\r\n\t , \t\r\n\t 45.65 \t\r\n\t , \t\r\n\t -0.00023 \t\r\n\t , \t\r\n\t 123456789012345678900987654321 \t\r\n\t , \t\r\n\t 34E100 \t\r\n\t , \t\r\n\t -0.3e-100 \t\r\n\t ]","result":"PASS","output":"[1,-1000,45.65,-2.3E-4,123456789012345678900987654321,3.4E101,-3.0E-101]","test":{"expectedOutput":"[1,-1000,45.65,-0.00023,123456789012345678900987654321,34E100,-0.3e-100]","expectedOutputError":false,"description":"Complex Number Array With Whitespace"},"executionTimeAverage":13689,"description":"Complex Number Array With Whitespace"},{"parseTimeAverage":4719,"toJSONTimeAverage":4813,"input":"[ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t ] \t\r\n\t , \t\r\n\t [ \t\r\n\t ] \t\r\n\t ] \t\r\n\t ]","result":"PASS","output":"[[],[[[[[],[],[]]]]],[[],[[[[]]]],[]]]","test":{"expectedOutputError":false,"description":"Deep Array Array With Whitespace"},"executionTimeAverage":8102,"description":"Deep Array Array With Whitespace"},{"parseTimeAverage":4181,"toJSONTimeAverage":3294,"input":"{ \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t \"v\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t , \t\r\n\t \"w\" \t\r\n\t : \t\r\n\t { \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t } \t\r\n\t }","result":"PASS","output":"{\"v\":{\"v\":{\"v\":{\"v\":{\"w\":{},\"v\":{}}}}}}","test":{"expectedOutput":"{\"v\":{\"v\":{\"v\":{\"v\":{\"v\":{},\"w\":{}}}}}}","expectedOutputError":false,"description":"Deep Object Object"},"executionTimeAverage":6426,"description":"Deep Object Object"}]},{"testSet":{"name":"Strict RFC4627 Error Condition Test Set","description":"These tests highlight standard conditions that should cause an error based on the RFC4627 specification.","_entries":[{"expectedOutputError":true,"input":"","description":"Empty String"},{"expectedOutputError":true,"input":"{","description":"Open Object"},{"expectedOutputError":true,"input":"[","description":"Open Array"},{"expectedOutputError":true,"input":"{\"v\":1234","description":"Unclosed Object"},{"expectedOutputError":true,"input":"{\"v\":1234}$ifsisg045","description":"Object with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4]$ifsisg045","description":"Array with trailing junk"},{"expectedOutputError":true,"input":"[1,2,3,4","description":"Unclosed Array"},{"expectedOutputError":true,"input":"{\"v\":\"Before\tAfter\"}","description":"Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u0009After\"}","description":"Unicode Tab in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\nAfter\"}","description":"Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000AAfter\"}","description":"Unicode Newline in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\rAfter\"}","description":"Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000DAfter\"}","description":"Unicode Return in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\fAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"v\":\"Before\\u000CAfter\"}","description":"Form Feed in JSON String"},{"expectedOutputError":true,"input":"{\"array\":[1,2],\"array\":[3,4]}","description":"Same Key Behaviour"},{"expectedOutputError":true,"input":"{\"v\":1234567890987654321E234E343}","description":"Double Exponent Number"},{"expectedOutputError":true,"input":"{\"v\":12345678909876A}","description":"Likely Number"},{"expectedOutputError":true,"input":"{\"v\":TRUE}","description":"Uppercase True"},{"expectedOutputError":true,"input":"{\"v\":FALSE}","description":"Uppercase False"},{"expectedOutputError":true,"input":"{\"v\":NULL}","description":"Uppercase Null"},{"expectedOutputError":true,"input":"{\"v\":trUe}","description":"Mixed Case True"},{"expectedOutputError":true,"input":"{\"v\":faLse}","description":"Mixed Case False"},{"expectedOutputError":true,"input":"{\"v\":nuLl}","description":"Mixed Case Null"}]},"_entries":[{"parseTimeAverage":0,"result":"PASS","output":"Unexpected End Of File position -1: EOF","test":{"expectedOutputError":true,"description":"Empty String"},"exception":{"libraryException":{"errorType":3,"unexpectedObject":"EOF","position":-1,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":57,"methodName":"read","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":48,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$1","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":40,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":170692,"description":"Empty String"},{"parseTimeAverage":0,"input":"{","result":"PASS","output":"Unexpected End Of File position 0: EOF","test":{"expectedOutputError":true,"description":"Open Object"},"exception":{"libraryException":{"errorType":3,"unexpectedObject":"EOF","stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":57,"methodName":"read","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":287,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$2","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":51,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":23466,"description":"Open Object"},{"parseTimeAverage":0,"input":"[","result":"PASS","output":"Unexpected End Of File position 0: EOF","test":{"expectedOutputError":true,"description":"Open Array"},"exception":{"libraryException":{"errorType":3,"unexpectedObject":"EOF","stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":57,"methodName":"read","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":65,"methodName":"readArray","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":126,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$3","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":62,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":22908,"description":"Open Array"},{"parseTimeAverage":0,"input":"{\"v\":1234","result":"PASS","output":"Unexpected End Of File position 8: EOF","test":{"expectedOutputError":true,"description":"Unclosed Object"},"exception":{"libraryException":{"errorType":3,"unexpectedObject":"EOF","position":8,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":57,"methodName":"read","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":435,"methodName":"skipDigits","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":214,"methodName":"readNumber","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":191,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$4","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":74,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":29054,"description":"Unclosed Object"},{"parseTimeAverage":0,"input":"{\"v\":1234}$ifsisg045","result":"FAIL","output":"{\"v\":1234}","test":{"expectedOutputError":true,"description":"Object with trailing junk"},"executionTimeAverage":10057,"description":"Object with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4]$ifsisg045","result":"FAIL","output":"[1,2,3,4]","test":{"expectedOutputError":true,"description":"Array with trailing junk"},"executionTimeAverage":7822,"description":"Array with trailing junk"},{"parseTimeAverage":0,"input":"[1,2,3,4","result":"PASS","output":"Unexpected End Of File position 7: EOF","test":{"expectedOutputError":true,"description":"Unclosed Array"},"exception":{"libraryException":{"errorType":3,"unexpectedObject":"EOF","position":7,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":57,"methodName":"read","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":213,"methodName":"readNumber","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":191,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":88,"methodName":"readArray","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":126,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_TOKEN":1,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$7","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":108,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":22908,"description":"Unclosed Array"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\tAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Tab in JSON String"},"executionTimeAverage":24863,"description":"Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u0009After\"}","result":"FAIL","output":"{\"v\":\"Before\\tAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Tab in JSON String"},"executionTimeAverage":15924,"description":"Unicode Tab in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\nAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Newline in JSON String"},"executionTimeAverage":18437,"description":"Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000AAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\nAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Newline in JSON String"},"executionTimeAverage":6425,"description":"Unicode Newline in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\rAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Return in JSON String"},"executionTimeAverage":22628,"description":"Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000DAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\rAfter\"}","test":{"expectedOutputError":true,"description":"Unicode Return in JSON String"},"executionTimeAverage":9499,"description":"Unicode Return in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\fAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":18997,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"v\":\"Before\\u000CAfter\"}","result":"FAIL","output":"{\"v\":\"Before\\fAfter\"}","test":{"expectedOutputError":true,"description":"Form Feed in JSON String"},"executionTimeAverage":8660,"description":"Form Feed in JSON String"},{"parseTimeAverage":0,"input":"{\"array\":[1,2],\"array\":[3,4]}","result":"FAIL","output":"{\"array\":[3,4]}","test":{"expectedOutputError":true,"description":"Same Key Behaviour"},"executionTimeAverage":14527,"description":"Same Key Behaviour"},{"parseTimeAverage":0,"input":"{\"v\":1234567890987654321E234E343}","result":"PASS","output":"Unexpected token 1234567890987654321E234E343 at position 32.","test":{"expectedOutputError":true,"description":"Double Exponent Number"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"1234567890987654321E234E343","position":32,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":267,"methodName":"readNumber","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":191,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$17","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":231,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":522693,"description":"Double Exponent Number"},{"parseTimeAverage":0,"input":"{\"v\":12345678909876A}","result":"PASS","output":"Unexpected token 12345678909876A at position 20.","test":{"expectedOutputError":true,"description":"Likely Number"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"12345678909876A","position":20,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":222,"methodName":"readNumber","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":191,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$18","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":243,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":46375,"description":"Likely Number"},{"parseTimeAverage":0,"input":"{\"v\":TRUE}","result":"PASS","output":"Unexpected token TRUE at position 9.","test":{"expectedOutputError":true,"description":"Uppercase True"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"TRUE","position":9,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":197,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$19","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":255,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":41346,"description":"Uppercase True"},{"parseTimeAverage":0,"input":"{\"v\":FALSE}","result":"PASS","output":"Unexpected token FALSE at position 10.","test":{"expectedOutputError":true,"description":"Uppercase False"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"FALSE","position":10,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":197,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$20","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":267,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":16762,"description":"Uppercase False"},{"parseTimeAverage":0,"input":"{\"v\":NULL}","result":"PASS","output":"Unexpected token NULL at position 9.","test":{"expectedOutputError":true,"description":"Uppercase Null"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"NULL","position":9,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":170,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$21","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":279,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":40228,"description":"Uppercase Null"},{"parseTimeAverage":0,"input":"{\"v\":trUe}","result":"PASS","output":"Unexpected token trUe at position 9.","test":{"expectedOutputError":true,"description":"Mixed Case True"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"trUe","position":9,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":163,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$22","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":291,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":25702,"description":"Mixed Case True"},{"parseTimeAverage":0,"input":"{\"v\":faLse}","result":"PASS","output":"Unexpected token faLse at position 10.","test":{"expectedOutputError":true,"description":"Mixed Case False"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"faLse","position":10,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":152,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$23","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":303,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":46654,"description":"Mixed Case False"},{"parseTimeAverage":0,"input":"{\"v\":nuLl}","result":"PASS","output":"Unexpected token nuLl at position 9.","test":{"expectedOutputError":true,"description":"Mixed Case Null"},"exception":{"libraryException":{"errorType":1,"unexpectedObject":"nuLl","position":9,"stackTrace":[{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":141,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":322,"methodName":"readObject","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":123,"methodName":"readMain","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":50,"methodName":"parse","nativeMethod":false},{"className":"net.minidev.json.parser.JSONParser","fileName":"JSONParser.java","lineNumber":36,"methodName":"parse","nativeMethod":false},{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":80,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}],"ERROR_UNEXPECTED_EOF":3,"ERROR_UNEXPECTED_UNICODE":4},"stackTrace":[{"className":"cc.plural.json.library.JSONSmartLibrary","fileName":"JSONSmartLibrary.java","lineNumber":86,"methodName":"parseJSONString","nativeMethod":false},{"className":"cc.plural.json.test.StrictRFC4627ErrorConditions$24","fileName":"StrictRFC4627ErrorConditions.java","lineNumber":315,"methodName":"evaluatePayload","nativeMethod":false},{"className":"cc.plural.json.JSONStringParsingTest","fileName":"JSONStringParsingTest.java","lineNumber":72,"methodName":"evaluate","nativeMethod":false},{"className":"cc.plural.json.JSONTestSet$1","fileName":"JSONTestSet.java","lineNumber":52,"methodName":"run","nativeMethod":false},{"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":662,"methodName":"run","nativeMethod":false}]},"executionTimeAverage":27099,"description":"Mixed Case Null"}]},{"testSet":{"name":"Strict RFC4627 \"Real World\" Parsing and Serialisation Test Set","description":"These are simulated but realistic parsing and serialisation cases for the RFC4627 specification.","_entries":[{"expectedOutput":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","expectedOutputError":false,"description":"JSON Spec Example One"},{"expectedOutput":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","expectedOutputError":false,"description":"JSON Spec Example Two"},{"expectedOutput":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","expectedOutputError":false,"description":"Wikipedia JSON Page Example One"}]},"_entries":[{"parseTimeAverage":5023,"toJSONTimeAverage":6091,"input":"{\"Image\": {  \"Width\":  800,  \"Height\": 600,  \"Title\":  \"View from 15th Floor\",  \"Thumbnail\": {      \"Url\":    \"http:\/\/www.example.com\/image\/481989943\",      \"Height\": 125,      \"Width\":  \"100\"  },  \"IDs\": [116, 943, 234, 38793]}}","result":"PASS","output":"{\"Image\":{\"IDs\":[116,943,234,38793],\"Height\":600,\"Width\":800,\"Thumbnail\":{\"Url\":\"http:\\\/\\\/www.example.com\\\/image\\\/481989943\",\"Height\":125,\"Width\":\"100\"},\"Title\":\"View from 15th Floor\"}}","test":{"expectedOutputError":false,"description":"JSON Spec Example One"},"executionTimeAverage":10616,"description":"JSON Spec Example One"},{"parseTimeAverage":8369,"toJSONTimeAverage":11756,"input":"   [      {         \"precision\": \"zip\",         \"Latitude\":  37.7668,         \"Longitude\": -122.3959,         \"Address\":   \"\",         \"City\":      \"SAN FRANCISCO\",         \"State\":     \"CA\",         \"Zip\":       \"94107\",         \"Country\":   \"US\"      },      {         \"precision\": \"zip\",         \"Latitude\":  37.371991,         \"Longitude\": -122.026020,         \"Address\":   \"\",         \"City\":      \"SUNNYVALE\",         \"State\":     \"CA\",         \"Zip\":       \"94085\",         \"Country\":   \"US\"      }   ]","result":"PASS","output":"[{\"precision\":\"zip\",\"State\":\"CA\",\"Address\":\"\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"Zip\":\"94107\",\"Country\":\"US\",\"City\":\"SAN FRANCISCO\"},{\"precision\":\"zip\",\"State\":\"CA\",\"Address\":\"\",\"Latitude\":37.371991,\"Longitude\":-122.02602,\"Zip\":\"94085\",\"Country\":\"US\",\"City\":\"SUNNYVALE\"}]","test":{"expectedOutputError":false,"description":"JSON Spec Example Two"},"executionTimeAverage":17041,"description":"JSON Spec Example Two"},{"parseTimeAverage":5533,"toJSONTimeAverage":7329,"input":"{\r\n\"firstName\": \"John\",\r\n\"lastName\": \"Smith\",\r\n\"age\": 25,\r\n\"address\":\r\n{\r\n\"streetAddress\": \"21 2nd Street\",\r\n\"city\": \"New York\",\r\n\"state\": \"NY\",\r\n\"postalCode\": \"10021\"\r\n},\r\n\"phoneNumber\":\r\n[\r\n{\r\n\"type\": \"home\",\r\n\"number\": \"212 555-1234\"\r\n},\r\n{\r\n\"type\": \"fax\",\r\n\"number\": \"646 555-4567\"\r\n}\r\n]\r\n}\r\n","result":"PASS","output":"{\"lastName\":\"Smith\",\"phoneNumber\":[{\"number\":\"212 555-1234\",\"type\":\"home\"},{\"number\":\"646 555-4567\",\"type\":\"fax\"}],\"address\":{\"streetAddress\":\"21 2nd Street\",\"postalCode\":\"10021\",\"state\":\"NY\",\"city\":\"New York\"},\"age\":25,\"firstName\":\"John\"}","test":{"expectedOutputError":false,"description":"Wikipedia JSON Page Example One"},"executionTimeAverage":12014,"description":"Wikipedia JSON Page Example One"}]}]}}]}