如何在gwt中使用clientbundle来使用JSON文件

时间:2015-06-25 15:51:11

标签: java json gwt

我有一个静态JSON文件,我想在我的GWT代码中访问它。 custom-report.json 文件位于项目的 client 包中。我在ClientBundle中添加它并尝试访问它但我收到错误

public interface AppBundle extends ClientBundle {

    @Source("custom-report.json")
    public TextResource jsonData();
    public static final AppBundle INSTANCE = GWT.create(AppBundle.class);

}

要在我的代码中使用它,这就是我正在做的事情:

AppBundle.INSTANCE.mystyle().ensureInjected();

JSONObject obj = (JSONObject) parser.parse(new FileReader(AppBundle.INSTANCE.jsonData().getText()));

这给了我编译错误

[ERROR] Line 29: No source code is available for type org.json.simple.parser.JSONParser; did you forget to inherit a required module?

我不确定这是否是在GWT中使用JSON文件的正确方法。

1 个答案:

答案 0 :(得分:0)

您需要使用com.google.gwt.json.client.JSONParser而不是GWT提供的org.json.simple.parser.JSONParser

JSONValue value = JSONParser.parse(json);
JSONObject productsObj = value.isObject();
JSONArray productsArray = productsObj.get("products").isArray();