Solved Cant figure out JSON

Discussion in 'Plugin Development' started by jusjus112, Apr 21, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    jusjus112

    Hey guys,

    I recently started coding with JSON, im learning a lot and even made a custom method for sending JSON packets for a events.

    So, its just gives me a error for an invalid JSON format, but i cant find the error/mistake.
    I hope you guys can think with me ;)

    Method:

    Code:
        public static void sendJSONMessage(Player p, String JSONMessage, ChatColor color, boolean bold,
                boolean clickEvent, String clickEventMessage, ChatColor clickEventcolor, boolean clickEventbold, String command,
                boolean hoverevent, String hoverEventMessage, ChatColor hoverEventcolor, boolean hoverEventbold) {
             CraftPlayer craftPlayer = (CraftPlayer) p;
             PlayerConnection con = craftPlayer.getHandle().playerConnection;
            
             StringBuilder s = new StringBuilder();
                 s.append("[\"\",{\"text\":\"" + JSONMessage +
                         "\",\"color\":\"" + color.toString().toLowerCase() +
                         "\",\"bold\":" + bold + "}");
             if (clickEvent) {
                 s.append(",{\"text\":\"" + clickEventMessage +
                         "\",\"color\":\"" + clickEventcolor.toString().toLowerCase() +
                         "\",\"bold\":" + clickEventbold + ",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"" + command + "\"}");
             }
             if (hoverevent) {
                 s.append(",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"" + hoverEventMessage +
                         "\",\"color\":\"" + hoverEventcolor.toString().toLowerCase() + "}]}}");
                 if (clickEvent) {
                     s.append("}");
                 }
             }
             s.append("]");
            
             String message = s.toString();
             IChatBaseComponent textJSON = ChatSerializer.a(message);
            
             PacketPlayOutChat pack = new PacketPlayOutChat(textJSON);
             con.sendPacket(pack);
        }
    Error (Cause why not):
    ERROR (open)

    Code:
    23:56:15 ERROR]: nullorg.bukkit.command.CommandException: Unhandled exception executing command 'help' in plugin TVGJustials v0.1    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1115) [server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:950) [server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [server.jar:git-Spigot-c3c767f-33d5de3]    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_77]    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_77]    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [server.jar:git-Spigot-c3c767f-33d5de3]    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_77]Caused by: org.bukkit.craftbukkit.libs.com.google.gson.JsonSyntaxException: org.bukkit.craftbukkit.libs.com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 301    at org.bukkit.craftbukkit.libs.com.google.gson.internal.Streams.parse(Streams.java:56) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:803) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:768) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:717) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:689) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.ChatSerializer.a(SourceFile:199) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at simple.essentials.Utils.HandlerManager.sendJSONMessage(HandlerManager.java:39) ~[?:?]    at simple.essentials.Commands.HelpCommand.onCommand(HelpCommand.java:27) ~[?:?]    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[server.jar:git-Spigot-c3c767f-33d5de3]    ... 14 moreCaused by: org.bukkit.craftbukkit.libs.com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 301    at org.bukkit.craftbukkit.libs.com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1006) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.stream.JsonReader.nextString(JsonReader.java:811) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:646) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:659) ~[server.ja
    r:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:667) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:659) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.bind.TypeAdapters$25.read(TypeAdapters.java:642) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.internal.Streams.parse(Streams.java:44) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:803) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:768) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:717) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at org.bukkit.craftbukkit.libs.com.google.gson.Gson.fromJson(Gson.java:689) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at net.minecraft.server.v1_8_R1.ChatSerializer.a(SourceFile:199) ~[server.jar:git-Spigot-c3c767f-33d5de3]    at simple.essentials.Utils.HandlerManager.sendJSONMessage(HandlerManager.java:39) ~[?:?]    at simple.essentials.Commands.HelpCommand.onCommand(HelpCommand.java:27) ~[?:?]    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[server.jar:git-Spigot-c3c767f-33d5de3]    ... 14 more>
     
  2. Offline

    Zombie_Striker

    Caused by: org.bukkit.craftbukkit.libs.com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 301
    One of the end brackets is a "]" instead of "}"
     
    Last edited: Apr 21, 2016
  3. Offline

    Lolmewn

    jusjus112 and clapynick like this.
Thread Status:
Not open for further replies.

Share This Page