[ 
https://issues.apache.org/jira/browse/GROOVY-11200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17778302#comment-17778302
 ] 

ASF GitHub Bot commented on GROOVY-11200:
-----------------------------------------

yuhengfdada opened a new pull request, #1972:
URL: https://github.com/apache/groovy/pull/1972

   # Analysis
   As mentioned by Paul's comment in the jira, this is a bug in 
`JsonParserCharArray`. The problem does not exist in 
`JsonParserUsingCharacterSource`.
   After debugging through both classes, both parser methods look exactly the 
same, except that `CharacterSource` would automatically add a `10`(line feed) 
char at the end, which triggers an exception. But for `JsonParserCharArray` it 
ends right at the last curly brace so the exception is overlooked.
   # Fix
   To keep the behavior consistent across `JsonParserCharArray` and 
`JsonParserUsingCharacterSource`, a line feed character is added to the end of 
the char array on initialization of `JsonParserCharArray`.
   # Concern
   Performance




> JsonSlurper parses badly format JSON without throwing exception
> ---------------------------------------------------------------
>
>                 Key: GROOVY-11200
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11200
>             Project: Groovy
>          Issue Type: Bug
>          Components: JSON
>    Affects Versions: 4.0.14
>            Reporter: John Yin
>            Priority: Major
>
> JsonSlurper should throw a JsonException when parsing the following input:
> {code:json}
> """
> {
>    "a":1,
>    "b": {
>         "c":2
>     }"""
> {code}
>  
> But it parses the string successfully.  On the other hand, it does throw a 
> JsonException when parsing
>  
> {code:json}
> """
> {
>    "a":1,
>    "b": {
>         "c":2
>     }
> """
> {code}
> where the ending """ is on a separate line.
>  
> I think it should fail for both.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to