GSON是一個Google提供的Java解析JSON的庫。它能夠?qū)SON格式字符串解析成Java對象,或者將Java對象序列化成JSON格式字符串。但是,當JSON字符串中出現(xiàn)多余的逗號時,GSON庫會拋出JsonSyntaxException異常,因為JSON格式是固定的,包含語法要求,不能多出未知字符。
例如,下面的JSON字符串: { "name": "Tom", "age": 18, "gender": "male", "hobbies": ["reading", "swimming", ], }
可以看到,在hobbies數(shù)組的最后一個元素后面多了一個逗號。這種情況下,使用GSON庫解析JSON時,就會拋出異常。為了解決這個問題,可以使用其他的JSON庫,或者修改JSON源數(shù)據(jù)。
修改JSON源數(shù)據(jù)可以使用一些在線JSON格式化工具,如JsonFormatter.org、JsonGenerator.GenerateIt.net等。在這些工具中可以輸入有問題的JSON字符串,然后格式化成規(guī)范的JSON格式,就可以解決多余逗號的問題。
經(jīng)過格式化后的JSON格式字符串如下所示: { "name": "Tom", "age": 18, "gender": "male", "hobbies": [ "reading", "swimming" ] }
可以發(fā)現(xiàn),hobbies數(shù)組的最后一個元素后面已經(jīng)沒有逗號了,符合JSON語法要求。使用GSON解析該字符串時,就會得到正確的結(jié)果。