为什么json不工作?

时间:2015-01-05 16:14:20

标签: java json libgdx

当我尝试运行我的项目时,我的游戏因此错误而崩溃:

Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.badlogic.gdx.utils.Json.writeValue(Json.java:372)
at com.mygdx.game.GuardarMundo.write(GuardarMundo.java:12)
at com.mygdx.game.Mundo.<init>(Mundo.java:71)
at com.mygdx.game.Strategy.create(Strategy.java:9)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)

代码是:

static int x,z;
static String type;
@Override
public void write(Json json) {
    json.writeValue("X", x);
    json.writeValue("Z", z);
    json.writeValue("Type", type);
}

@Override
public void read(Json json, JsonValue jsonData) {
    // TODO Auto-generated method stub

}
public static void setBlock(int x2,int z2,String type2){
    x= x2;
    z=z2;
    type= type2;
}

有什么问题?

1 个答案:

答案 0 :(得分:1)

从查看来源here,如果您从不知情的地方拨打json.writeValue(),您将获得NullPointerException,因为writer字段位于json } object将是null

看起来你应该做的是调用json.toJson(...)方法之一。这些会为您初始化writer,然后将其用于对writeValue()的各种调用。