为什么 json 不起作用?
Why json doesn´t work?
当我尝试 运行 我的项目时,我的游戏因以下错误而崩溃:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.badlogic.gdx.utils.Json.writeValue(Json.java:376)
at com.mygdx.game.MyGdxGame.write(MyGdxGame.java:30)
at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:25)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplication.java:114)
代码是:
private Json json;
private int x = 1;
@Override
public void create() {
json = new Json();
write(json);
}
@Override
public void write(Json json) {
json.writeValue("X", x);
}
问题是什么?我找不到解决方案
查看source code,好像是你没有设置作者的问题。当你没有设置编写器时,你 期望 writeValue
做什么并不清楚,但你要么需要更改你调用的方法(例如调用 prettyPrint
相反),或者先设置编写器。
例如:
private Json json;
private StringWriter writer;
writer = new StringWriter();
json = new Json();
json.setWriter(writer);
write(json);
然后您可以使用 writer.toString()
稍后取出 JSON。
当我尝试 运行 我的项目时,我的游戏因以下错误而崩溃:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.badlogic.gdx.utils.Json.writeValue(Json.java:376)
at com.mygdx.game.MyGdxGame.write(MyGdxGame.java:30)
at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:25)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplication.java:114)
代码是:
private Json json;
private int x = 1;
@Override
public void create() {
json = new Json();
write(json);
}
@Override
public void write(Json json) {
json.writeValue("X", x);
}
问题是什么?我找不到解决方案
查看source code,好像是你没有设置作者的问题。当你没有设置编写器时,你 期望 writeValue
做什么并不清楚,但你要么需要更改你调用的方法(例如调用 prettyPrint
相反),或者先设置编写器。
例如:
private Json json;
private StringWriter writer;
writer = new StringWriter();
json = new Json();
json.setWriter(writer);
write(json);
然后您可以使用 writer.toString()
稍后取出 JSON。