You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
By clicking “Sign up for GitHub”, you agree to our
terms of service
and
privacy statement
. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 17675 path $[27].sign
#1644
com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 17675 path $[27].sign
StarWishsama
opened this issue
Jan 28, 2020
· 1 comment
Stack trace:
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 17675 path $[27].sign
at com.google.gson.Gson.fromJson(Gson.java:947)
at com.google.gson.Gson.fromJson(Gson.java:897)
at com.google.gson.Gson.fromJson(Gson.java:846)
at io.github.starwishsama.namelessbot.utils.LiveUtils.getBiliLivers(Live
Utils.java:27)
at io.github.starwishsama.namelessbot.utils.LiveUtils.getBiliLiverList(L
iveUtils.java:42)
at io.github.starwishsama.namelessbot.utils.LiveUtils.getBiliLiver(LiveU
tils.java:34)
at io.github.starwishsama.namelessbot.commands.DebugCommand.groupMessage
(DebugCommand.java:59)
at cc.moecraft.icq.command.CommandManager.runCommand(CommandManager.java
:130)
at cc.moecraft.icq.command.CommandListener$CommandRunnable.run(CommandLi
stener.java:80)
at java.lang.Thread.run(Unknown Source)
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 17675 path $[27].sign
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1564)
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:492)
at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:415)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.re
ad(ReflectiveTypeAdapterFactory.java:216)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(Type
AdapterRuntimeTypeWrapper.java:41)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.re
ad(CollectionTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.re
ad(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.fromJson(Gson.java:932)
... 9 more
Code:
private static Gson gson = new GsonBuilder().setLenient().create();
public static List<BiliLiver> getBiliLivers() throws IOException {
HttpURLConnection conn = (HttpURLConnection) new URL(BotConstants.cfg.getLiveApi()).openConnection();
conn.connect();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK){
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
return gson.fromJson(br.readLine().trim(), new TypeToken<List<BiliLiver>>(){}.getType());
conn.disconnect();
return new ArrayList<>();
Beans:
BiliLiver.java
@DaTa
public class BiliLiver {
public int mid;
public String uuid;
public String uname;
public int video;
public int roomid;
public String sign;
@SerializedName("notice")
public String announcement;
@SerializedName("face")
public String faceImgLink;
public int rise;
public String topPhoto;
public int archiveView;
public int follower;
public int liveStatus;
@SerializedName("recordNum")
public int recordNumber;
@SerializedName("guardNum")
public int guardNumber;
public LastLive lastLive;
public int guardChange;
public List guardType;
public int areaRank;
public int online;
@SerializedName("title")
public String liveTitle;
public long time;
public boolean isStreaming(){
return getLiveStatus() == 1;
}LastLive.java:
@DaTa
public class LastLive {
public int online;
public long time;