Jump to content

Malformed JSON in mcmod.info


Malkierian

Recommended Posts

Alright, so I've been going at this for hours now.  I can't seem to get FML to parse my mcmod.info file.  Here it is:

http://pastebin.com/jjSdUxqd

I've validated it almost 10 times now, with varying arrangements of spacing, brackets, etc.  Every single time, I get this error, or something like it:

[19:30:37] [Client thread/ERROR] [FML]: The mcmod.info file in PlasmaCraft-0.3.5.jar cannot be parsed as valid JSON. It will be ignored
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 5
at com.google.gson.JsonParser.parse(JsonParser.java:65) ~[JsonParser.class:?]
at cpw.mods.fml.common.MetadataCollection.from(MetadataCollection.java:55) [MetadataCollection.class:?]
at cpw.mods.fml.common.discovery.JarDiscoverer.discover(JarDiscoverer.java:53) [JarDiscoverer.class:?]
at cpw.mods.fml.common.discovery.ContainerType.findMods(ContainerType.java:42) [ContainerType.class:?]
at cpw.mods.fml.common.discovery.ModCandidate.explore(ModCandidate.java:71) [ModCandidate.class:?]
at cpw.mods.fml.common.discovery.ModDiscoverer.identifyMods(ModDiscoverer.java:127) [ModDiscoverer.class:?]
at cpw.mods.fml.common.Loader.identifyMods(Loader.java:347) [Loader.class:?]
at cpw.mods.fml.common.Loader.loadMods(Loader.java:468) [Loader.class:?]
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480) [bao.class:?]
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:867) [bao.class:?]
at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_67]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_67]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_67]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_67]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 5
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~[JsonReader.class:?]
at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1386) ~[JsonReader.class:?]
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:531) ~[JsonReader.class:?]
at com.google.gson.stream.JsonReader.peek(JsonReader.java:414) ~[JsonReader.class:?]
at com.google.gson.JsonParser.parse(JsonParser.java:60) ~[JsonParser.class:?]
... 17 more

What the heck is going on?  I've remade the file, making sure the right encoding is being used, and rewrote the file from scratch at the same time, and still no difference.

Link to comment
Share on other sites

That's strange

 

JSON validator likes it no problem

http://jsonlint.com/

 

Mine starts like this and it works fine.

[{
    "modid": "speedytoolsmod",
    "name": "Build Faster Mod",
.. etc ..
}]

 

Some strange problem with carriage return / line feed perhaps? Line 1 column 5 doesn't seem to exist.  Perhaps try pasting it into notepad and saving again to make sure it's just text.

 

If it were me, I would try set a breakpoint at cpw.mods.fml.common.MetadataCollection.from(MetadataCollection.java:55) [MetadataCollection.class:?] and then trace in using the debugger to see why the JsonReader thinks it's malformed.

 

-TGG

 

 

 

 

Link to comment
Share on other sites

I just don't understand it either.  I went ahead and removed all of the newlines and extraneous spacing (so it was all on one line and the only spaces were in the string values), and it STILL gave me the error.  I even did the extended searching in Notepad++ to find and remove any individual return or newline characters, and there weren't any, and STILL that line 1 column 5.  I'm so confused...

Link to comment
Share on other sites

Guess what?  I found out what it was.  GSON apparently is incapable of reading UTF-8.  Here, I thought I was doing what I was supposed to by making sure the .info file was being saved as UTF-8, and apparently those first three identifying bytes of the file were what were causing all the ruckus...  I found this out by pulling the mcmod.info file out of ForgeEssentials and opened it up with Notepad, and lo and behold the newlines weren't working there, like they usually don't, but still were in Notepad++.  So I edited that file without changing encoding and it works fine now.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.