我正在使用JSON-Simple从twitter解析JSON块。我遇到了一个异常:
Exception in thread "main" Unexpected token COLON(:) at position 27
{
{1}}
由于JavaScript解析JSON的方式有些特殊,我在SO上看到了类似的东西(我认为JSONJ-P需要接收它填充)但是这不是这里的情况因为我不在JS中!
这是我的JSON(已消毒):
...stack
trace...
有两件事让我感到震惊。
{"in_reply_to_status_id_str":null,"id_str":"23475129874512857","text":"RT @SanitizedPersonName: SomeTextIveSanitized @SanatizedTwitterHandle SomeMoreText http:\/\/t.co\/sanitized SomeText (MoreText) \/ Text", "restOfTheJson":"Is not Special"}
。这似乎是一个严重的问题。{
因此缓冲读者正在吃我的r
或者解析器没有正确解析。我如何判断它是什么并解决问题?
n.b。我确实在{
内有我的打印和解析行(检查行结束)和检查'正则表达式'while(buff.read()!=-1)
的if语句(检查无效的jsons)这可能是原因?这是代码:
(if(!line.contains(DELETE_REGEX))
我错过了一些无关紧要的东西。
答案 0 :(得分:2)
我想我找到了它。 buff.read()
正在吃每行的第一个char
,因此无法将其解析为json。我将回复while((line=buff.readLine())!=null)
来检查EOR,但这不起作用。