Android Studio无法读取json文件

时间:2016-02-19 12:39:56

标签: json libgdx

当我在我的设备上运行应用程序时,我在控制台中没有出现任何错误,也没有显示任何背景。但是,如果我打开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)

1 个答案:

答案 0 :(得分:0)

由于RFC-7159章节没有。 7 字符串

  

字符串的表示类似于C中使用的约定    编程语言家族。 字符串的开头和结尾    引号

这就是为什么Android Studio可能没有验证这个.json的原因。实际上它应该有效,因为即使是官方的例子也不尊重这个要求 - take a look here

我也不确定使用点' '在json条目的值中 - 例如:checkboxOff: checkbox.off, checkboxOver: checkbox.over。我不知道它是否会在这里引起错误,但对我来说这似乎不是一个好习惯。

在这种情况下我习惯使用下划线' _ '登录。