Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将JSONParser与GWT结合使用时出现的问题_Java_Json_Gwt - Fatal编程技术网

Java 将JSONParser与GWT结合使用时出现的问题

Java 将JSONParser与GWT结合使用时出现的问题,java,json,gwt,Java,Json,Gwt,我有一个简单的GWT应用程序,需要从另一台服务器获取一些JSON数据。为了达到这一点,我已经学习了一些教程。当我试图编译它时,会出现错误 [错误]第44行:没有可用于类型的源代码 com.google.gwt.json.client.JSONValue;你忘了继承遗产了吗 必修模块? [错误]第44行:com.google.gwt.json.client.JSONParser类型没有可用的源代码;你忘了继承遗产了吗 必修模块? [错误]第46行:com.google.gwt.json.clien

我有一个简单的GWT应用程序,需要从另一台服务器获取一些JSON数据。为了达到这一点,我已经学习了一些教程。当我试图编译它时,会出现错误

[错误]第44行:没有可用于类型的源代码 com.google.gwt.json.client.JSONValue;你忘了继承遗产了吗 必修模块? [错误]第44行:com.google.gwt.json.client.JSONParser类型没有可用的源代码;你忘了继承遗产了吗 必修模块? [错误]第46行:com.google.gwt.json.client.JSONArray类型没有可用的源代码;你忘了继承遗产了吗 必修模块? [错误]第49行:com.google.gwt.json.client.JSONObject类型没有可用的源代码;你忘了继承遗产了吗 必修模块

我知道我必须补充一点

<inherits name="com.google.gwt.http.HTTP" />

添加到我的.gwt.xml文件中,但无法确定要添加什么以使其识别JSON内容。请问我错过了什么

相关代码:

  private SearchResult[] parseResponse(String jsonResponse) {
        ArrayList<SearchResult> retArray = new ArrayList<SearchResult>();

        JSONValue jval = JSONParser.parseStrict(jsonResponse);

        JSONArray resultArray = jval.isArray();

        for(int i=0; i<resultArray.size(); i++) {
            JSONObject resultObj =  resultArray.get(i).isObject();
            String title = resultObj.get("title").isString().stringValue();
            JSONArray roleArray = resultObj.get("roles").isArray();
            String roleNames = new String();
            for(int j=0; j< roleArray.size(); j++) {
                if(roleArray.get(j).isNumber().doubleValue() == 1.0) {
                    // this role is present
                    String currRole = Constants.getRoleNameForNum(j);
                    roleNames += currRole;
                }   
            }
            SearchResult sr = new SearchResult(title, roleNames);
            retArray.add(sr);
        }

        return retArray.toArray(new SearchResult[0]);
    }

    private void doSearch() {

        clearTable();

        final String searchTerms = searchTextBox.getText().toLowerCase().trim();
        searchTextBox.setFocus(true);
        final int roleNum = roleChooserBox.getSelectedIndex();
        final String roleName = roleChooserBox.getItemText(roleNum);
        String url = JSON_URL + "?" + ROLE_TXT + roleNum + "&" + QUERY_TXT + "'" + searchTerms + "'";
        url = URL.encode(url);

        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
        try {
            Request request = builder.sendRequest(null, new RequestCallback() {

                @Override
                public void onError(Request request, Throwable exception) {
                    displayError("Couldnt' retrieve JSON");

                }
                @Override
                public void onResponseReceived(Request request, Response response) {


                    if (200 == response.getStatusCode()) {
                        SearchResult[] results = parseResponse(response.getText());
                        updateTable(results, roleName);
                    } else {
                        displayError("Couldn't retrieve JSON (" + response.getStatusText()
                                + ")");
                    }
                }
            });
        } catch (RequestException e) {
            displayError("Couldn't retrieve JSON");
        }
            `
private SearchResult[]parseResponse(字符串jsonResponse){
ArrayList-retArray=新的ArrayList();
JSONValue jval=JSONParser.parseStrict(jsonResponse);
JSONArray resultArray=jval.isArray();

对于(int i=0;i在进一步的试验和错误后,添加

<inherits name="com.google.gwt.json.JSON" />


在我的.gwt.xml文件中实现了这一点。我很失望,我在文档中找不到任何解释这一点的信息。这会节省很多时间。

你能添加你的
搜索结果吗?
classIt实际上只是一个bean。当它使用gwt RPC作为测试时,一切都很好,但当我试图将其转换为使用REST时API我遇到了问题。当我开始使用
com.google.gwt.json
时,我不必向.gwt.xml文件添加任何内容。是否有可能缺少其他导入?它特别抱怨json内容。