2016-03-31 28 views
0

Verknüpfen, um eine eigene made.json-Datei zum Stylen von Scene2d zu verwenden. Aber ich bekomme immer noch Json Fehler und ich kann nicht herausfinden, warum!Json-Parsing-Fehler - libgdx

Datei mit dem Namen: uiskin2.json

{ 
com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: default.fnt } }, 
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { 
    default: { down: default-round-down, up: default-round, font: default-font } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: { 
    default: { titleFont: default-font }, 
} 
} 

Fehler ich bekommen werde:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin2.json 
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:97) 
at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:74) 
at Scene2D_UI_Wigets_Skins.Scene2dUi.create(Scene2dUi.java:17) 
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:147) 
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124) 
Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin2.json 
at com.badlogic.gdx.utils.Json.fromJson(Json.java:694) 
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:95) 
... 4 more 
Caused by: com.badlogic.gdx.utils.SerializationException: Error parsing file: uiskin2.json 
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:77) 
at com.badlogic.gdx.utils.Json.fromJson(Json.java:692) 
... 5 more 
Caused by: com.badlogic.gdx.utils.SerializationException: Error parsing JSON, unmatched brace. 
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:554) 
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:55) 
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:75) 
... 6 more 

Die Fehler sie selbst sagen nicht viel über den Inhalt innerhalb des uiskin2. JSON-Datei, nur Parsing-Fehler?

Does jemand sieht es? Muss ich Standardrequisiten wie default-round-down angeben? Was fehlt mir hier?

P. S Testes eine Haut aus dem Internet, die ganz gut funktionieren uiskin.json

+1

Sie benötigen json besser zu formatieren, damit Sie es einfacher lesen. Überprüfen Sie die Antwort von Phil und Sie hätten das zusätzliche Komma sofort gesehen, wenn Sie es richtig formatiert haben. Lesbarkeit ist alles, ich würde einen Blick FPS für zusätzliche Lesbarkeit jeden Tag ohne ein Blinzeln opfern, wenn es dazu kommen würde. – Madmenyo

+0

@Menno Gouw - Sie machen einen guten Punkt. Lustigerweise war das erste, was ich getan habe, um das Problem zu finden, es neu zu formatieren. Dann - wie Sie sagen - war es offensichtlich. –

Antwort

3

Das erste, was ich sehe, ist, dass Sie ein falsches Komma nach der dritten von letzten schließenden Klammer haben.

Try this ...

{ 
    com.badlogic.gdx.graphics.g2d.BitmapFont: { 
    default-font: { 
     file: default.fnt 
    } 
    }, 
    com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { 
    default: { 
     down: default-round-down, 
     up: default-round, 
     font: default-font 
    } 
    }, 
    com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: { 
    default: { 
     titleFont: default-font 
    } 
    } 
} 
+0

+ um zu zeigen, wie man json für die Lesbarkeit formatiert. – Madmenyo

+0

Danke, dass Sie mir hier geholfen haben. Formatierung wie diese macht Augen besser! Aber das eigentliche Problem war der Name meiner Skin-Datei. Aus irgendeinem Grund muss es benannt werden: "uiskin.json" und sonst nichts –