java在一个字符串中显示json
当发出http请求以获取twitch聊天中的用户列表时,我会得到如下响应:
{
"_links": {},
"chatter_count": 27,
"chatters": {
"moderators": [
"user1",
"user2",
"user3",
"...",
],
"viewers": [
"user4",
"user5",
"user6",
"...",
]
}
}
我怎样才能在一个字符串中得到所有这些?我有一个字符串,看起来像这样:
{ "_links": {}, "chatter_count": 27, "chatters": { "moderators": [ "user1", "user2", "user3", "...", ], "viewers": [ "user4", "user5", "user6", "...", ] } }
我的请求:
URL url = new URL("http://tmi.twitch.tv/group/user/" + streamerName + "/chatters");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.addRequestProperty("Accept", "application/vnd.twitchtv.v5+json");
conn.addRequestProperty("Client-Id", "j113orc4zqptuzyqnnw1vfel33esj0");
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while (null != (temp = br.readLine())) {
System.out.println(temp);
}
# 1 楼答案
您可以使用空格
replace
所有换行符。 包括\r
Windows样式换行符的可能性尽管打印JSON的方式可能会导致换行。你在用什么图书馆?如果有任何与
prettyPrint
方法等价的方法,如果不希望重新格式化JSON,请不要使用它例如,使用原始结果,而不是已解析的JSON对象
我不确定您是如何阅读请求结果的,但是:
如果确定请求不包含换行符,则可以修改此读取方法以忽略它们
编辑:
既然您正在使用
readLine
,为什么不忽略换行符呢或者,如果要保留JSON:
将其子串以忽略第一个空格