我使用net.minidev.json
将String解析为JSON对象。这是我的代码:
JSONObject obj = (JSONObject) JSONValue.parse(s);
字符串 s 如下所示:
{dirs=[{"uid":11215,"ctime":1423258351,"gid":050,"name":"video","mtime":1423258351}], files=[{"mimetype":"application\/json","name":"file.txt","checksum":"d995a1c6b9ba371c2273f209d6659253bf457b3fa047ce62dd8274ac959c8a99","ctime":1434752293,"gid":050,"mtime":1434752293,"size":10,"uid":12020}], code=0, cookie=ODlw5jPP19125==}
解析后, obj 如下所示:
{"dirs=[{\"uid\"":11215,"gid":050,"name":"video","ctime":1423258351,"mtime":1423258351}
你可以看到解析方法只是我传入的字符串的一部分。
为什么会发生这种错误?
答案 0 :(得分:0)
正如vsminkov所指出的那样:
{dirs=[{"uid":11215,…}], files=[…], code=0, cookie=ODlw5jPP19125==}
外部{…}
块不是有效的JSON字典对象。 JSON字典由密钥 :
值对组成。这意味着外部字典中的第一个键实际上是字符串dirs=[{"\"uid\"
,这意味着外部字典在}
之前的files
结束。