{"action":"created","issue":{"url":"https://api.github.com/repos/rayrobdod/json/issues/2","repository_url":"https://api.github.com/repos/rayrobdod/json","labels_url":"https://api.github.com/repos/rayrobdod/json/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/rayrobdod/json/issues/2/comments","events_url":"https://api.github.com/repos/rayrobdod/json/issues/2/events","html_url":"https://github.com/rayrobdod/json/issues/2","id":190169629,"number":2,"title":"json parser fails when input contains a nested object which itself contains a string containing a '['","user":{"login":"rayrobdod","id":11641215,"avatar_url":"https://avatars.githubusercontent.com/u/11641215?v=3","gravatar_id":"","url":"https://api.github.com/users/rayrobdod","html_url":"https://github.com/rayrobdod","followers_url":"https://api.github.com/users/rayrobdod/followers","following_url":"https://api.github.com/users/rayrobdod/following{/other_user}","gists_url":"https://api.github.com/users/rayrobdod/gists{/gist_id}","starred_url":"https://api.github.com/users/rayrobdod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rayrobdod/subscriptions","organizations_url":"https://api.github.com/users/rayrobdod/orgs","repos_url":"https://api.github.com/users/rayrobdod/repos","events_url":"https://api.github.com/users/rayrobdod/events{/privacy}","received_events_url":"https://api.github.com/users/rayrobdod/received_events","type":"User","site_admin":false},"labels":[{"id":198209542,"url":"https://api.github.com/repos/rayrobdod/json/labels/bug","name":"bug","color":"fc2929","default":true},{"id":455350405,"url":"https://api.github.com/repos/rayrobdod/json/labels/format","name":"format","color":"88dd99","default":false}],"state":"open","locked":false,"assignee":{"login":"rayrobdod","id":11641215,"avatar_url":"https://avatars.githubusercontent.com/u/11641215?v=3","gravatar_id":"","url":"https://api.github.com/users/rayrobdod","html_url":"https://github.com/rayrobdod","followers_url":"https://api.github.com/users/rayrobdod/followers","following_url":"https://api.github.com/users/rayrobdod/following{/other_user}","gists_url":"https://api.github.com/users/rayrobdod/gists{/gist_id}","starred_url":"https://api.github.com/users/rayrobdod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rayrobdod/subscriptions","organizations_url":"https://api.github.com/users/rayrobdod/orgs","repos_url":"https://api.github.com/users/rayrobdod/repos","events_url":"https://api.github.com/users/rayrobdod/events{/privacy}","received_events_url":"https://api.github.com/users/rayrobdod/received_events","type":"User","site_admin":false},"assignees":[{"login":"rayrobdod","id":11641215,"avatar_url":"https://avatars.githubusercontent.com/u/11641215?v=3","gravatar_id":"","url":"https://api.github.com/users/rayrobdod","html_url":"https://github.com/rayrobdod","followers_url":"https://api.github.com/users/rayrobdod/followers","following_url":"https://api.github.com/users/rayrobdod/following{/other_user}","gists_url":"https://api.github.com/users/rayrobdod/gists{/gist_id}","starred_url":"https://api.github.com/users/rayrobdod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rayrobdod/subscriptions","organizations_url":"https://api.github.com/users/rayrobdod/orgs","repos_url":"https://api.github.com/users/rayrobdod/repos","events_url":"https://api.github.com/users/rayrobdod/events{/privacy}","received_events_url":"https://api.github.com/users/rayrobdod/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-11-17T21:29:28Z","updated_at":"2016-11-17T21:29:35Z","closed_at":null,"body":"Using: 3.0\r\nInput: `[[\"[\"]]`    \r\nExpected: `Map(0 -> Map(0 -> \"[\"))`    \r\nResult: Exception with message \"Stuff after end of object\""},"comment":{"url":"https://api.github.com/repos/rayrobdod/json/issues/comments/261375432","html_url":"https://github.com/rayrobdod/json/issues/2#issuecomment-261375432","issue_url":"https://api.github.com/repos/rayrobdod/json/issues/2","id":261375432,"user":{"login":"rayrobdod","id":11641215,"avatar_url":"https://avatars.githubusercontent.com/u/11641215?v=3","gravatar_id":"","url":"https://api.github.com/users/rayrobdod","html_url":"https://github.com/rayrobdod","followers_url":"https://api.github.com/users/rayrobdod/followers","following_url":"https://api.github.com/users/rayrobdod/following{/other_user}","gists_url":"https://api.github.com/users/rayrobdod/gists{/gist_id}","starred_url":"https://api.github.com/users/rayrobdod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rayrobdod/subscriptions","organizations_url":"https://api.github.com/users/rayrobdod/orgs","repos_url":"https://api.github.com/users/rayrobdod/repos","events_url":"https://api.github.com/users/rayrobdod/events{/privacy}","received_events_url":"https://api.github.com/users/rayrobdod/received_events","type":"User","site_admin":false},"created_at":"2016-11-17T21:29:35Z","updated_at":"2016-11-17T21:29:35Z","body":"\r\nThe combination of several factors, from the JsonParser using push-style iteration to the inability for Parsers to ask Builders about subtypes, the parser needs to obtain an entire child object before it gives that object to the builder. It didn't do the full parsing at that time, it only counted brackets and declared the inner object finished when the brackets were balanced. The bracket inside the string makes the bracket counting incorrect.\r\n\r\nThe JsonParser should probably do a full parse going forward, despite its inability to know which Builder will handle the inner object. It probably should have done that from the start, but this proves that the shortcut doesn't work."}}
{"actor":{"display_login":"rayrobdod"}}