2016-02-19 194 views
1

當我在設備上運行應用程序時,控制檯中無任何錯誤,並且沒有顯示背景。但是,如果我打開JSON,它幾乎全是紅色的。什麼可能是錯誤的?Android Studio無法讀取json文件

{ 
com.badlogic.gdx.graphics.Color: { 
    white: { r: 1, g: 1, b: 1, a: 1 }, 
    black: { r: 0, g: 0, b: 0, a: 1 }, 
    gray: { r: 0.3, g: 0.3, b: 0.3, a: 1 }, 
    red: { r: 1, g: 0, b: 0, a: 1 }, 
    green: { r: 0, g: 1, b: 0, a: 1 }, 
    blue: { r: 0, g: 0, b: 1, a: 1 } 
}, 
com.badlogic.gdx.graphics.g2d.BitmapFont: { 
    white64: { file: font/white64.fnt }, 
    black64: { file: font/black64.fnt }, 
    white32: { file: font/white32.fnt }, 
    black32: { file: font/black32.fnt }, 
    white16: { file: font/white16.fnt }, 
    black16: { file: font/black16.fnt } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: { 
    default: { font: white32, fontColor: white }, 
    big:  { font: white64, fontColor: white }, 
    small: { font: white16, fontColor: white } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { 
    default: { up: button.up, down: button.down, font: black32, pressedOffsetX: 1, pressedOffsetY: -1 }, 
    big:  { up: button.up, down: button.down, font: black64, pressedOffsetX: 1, pressedOffsetY: -1 }, 
    small: { up: button.up, down: button.down, font: black16, pressedOffsetX: 1, pressedOffsetY: -1 } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: { 
    default: { font: white32, fontColorUnselected: white, fontColorSelected: black, selection: default.selection } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: { 
    default: { hScrollKnob: button.up, vScrollKnob: button.up } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: { 
    default: { font: white32, checkboxOn: checkbox.on, checkboxOff: checkbox.off, checkboxOver: checkbox.over } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: { 
    default: { font: black32, fontColor: black, messageFontColor: gray, background: default.background, cursor: default.selection } 
} 
} 

這是我如何調用JSON文件:

skin = new Skin(Gdx.files.internal("ui/menuSkin.json"), new TextureAtlas("ui/atlas.pack")); 

什麼Android Studio中說,當我將鼠標懸停我的鼠標移到錯誤:

JSON standard does not allow identifiers 
This inspection checks that JSON files conform to language specification (RFC-7159) 
+0

也有這個,學會了使用它。您可以在設置 - >編輯 - >檢查中關閉Json檢查功能,但可以將'.'。而其他一些特殊字符仍會被標記。 – Madmenyo

回答

0

由於RFC-7159章沒有。 7個字符串

串的表示類似於在C 家族的編程語言的使用的約定。 一個字符串以 (引號)開頭和結尾。

這就是爲什麼Android Studio沒有驗證這個.json。事實上,它應該起作用,因爲即使官方的例子不尊重這一要求 - take a look here


我也不確定使用點''in json entries'es values - 例如:checkboxOff: checkbox.off, checkboxOver: checkbox.over。我不知道這是否會導致錯誤,但對我來說,這似乎不是好習慣。

在這種情況下,我曾用下劃線'_'的符號。