2014-01-21 87 views
0

我想解析Java中的json響應並將其值添加到GWT中的提示框中。如果任何人都可以用示例代碼來幫助我,那將是非常棒的。爲GWT解析json SuggestBox

["abc","def","ghi","jkl","mno","pqr","acb","dfe","gih","jlk","mon"] 

public void parseResponse(String str){ 

    MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(); 

    JSONValue jsonValue = JSONParser.parseLenient(str); 
    JSONArray jArray = jsonValue.isArray();  

    for(int i=0; i<jArray.size(); i++){ 

    String companySymbol = jArray.get(i).isString().toString(); 
    oracle.add(companySymbol); 

    } 

} 

回答

0

不能使用MultiWordSuggestOracle:你必須擴展http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/SuggestOracle.html

(和它的回調)

例如:

class MySuggestOrc extends SuggestOracle { 
    public void requestSuggestions(final SuggestOracle.Request request, final SuggestOracle.Callback callback) { 
    Receiver<YourJsonContainer> receiver = new Receiver<YourJsonContainer>() { 
     @Override 
     public void onSuccess(YourJsonContainer companiesJsonHolder) { 
     List<Suggestion> companies = //... the code to split json 
     SuggestOracle.Response response = new SuggestOracle.Response(); 
     response.setSuggestions(companies) 
     callback.onSuggestionsReady(request, response); 
     } 
    } 
    AsyncRequest req = // get you json respons here and use ... 
    } 
}