我正在尝试使用java jsoup和json-simple libs从twitter api获取数据
Document doc = Jsoup.connect("https://api.twitter.com/1.1/search/tweets.json")
.header("Authorization", "Bearer " + token)
.header("charset", "utf-8")
.data("q", q)
.data("count", "2")
.data("max_id", currentStartId)
.ignoreContentType(true)
.get();
然后我收到了一些json对象。但是当我试图解析它时
String response = doc.text();
JSONObject requestObj = (JSONObject) parser.parse(response);
我收到此错误
Exception in thread "main" Unexpected character (\) at position 3535.
at org.json.simple.parser.Yylex.yylex(Yylex.java:610)
at org.json.simple.parser.JSONParser.nextToken(JSONParser.java:269)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:118)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:81)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:75)
在json位置3535
"description":""\u0412\u0435\u0434\u043e\u043c\u043e\u0441\u0442\u0438". \u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u0430\u044f \u0434\u0435\u043b\u043e\u0432\u0430\u044f \u0433\u0430\u0437\u0435\u0442\u0430"
答案 0 :(得分:0)
您不应该使用Jsoup作为解析和清理HTML页面的设计。无论它吐出什么都不太可能让Json对你有用。
https://jsoup.org/apidocs/org/jsoup/Jsoup.html#connect-java.lang.String-
用于获取和解析HTML页面。
如上面的评论所示,您应该使用Twitter4J代替此。或者甚至在使用URLConnection或OkHttp获取后直接处理JSON。