2012-07-23 80 views
1

我試圖將JSON字符串值{{「name:ganesh,sex:male,age:22」})轉換爲key和value在gwt中使用json設置任何人都可以幫助我一些想法請。如何使用org.json將字符串值轉換爲java中的json對象

+2

如果您不知道答案或不知道問題是否完整,請不要回答問題。也不要試圖關閉這個問題。如果提問者在手邊的問題上是這樣的專家,爲了「正確地」詢問這個問題,他不需要提出這個問題。請對你的最後的特權和反對票讚不絕口。人們有權學習。 – 2012-07-24 03:46:34

回答

2

既然你不想使用org.json,我想你需要在客戶端轉換JSON。如果是這種情況,您將需要使用GWT的JSON庫。他們可以通過添加這些行到你的.gwt.xml文件被繼承到您的GWT項目:

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

你還需要到com.google.gwt.json包導入到你的類文件。

The getting started guide to using JSON in GWT can be found here.它還提供瞭解碼JSON的示例。

2

你的字符串的形式必須是

"{'name':'ganesh','sex':'male','age':'22'}" 

或 的 '{ 「名」: 「Ganesh神」, 「性」: 「男」, 「年齡」: 「22」}'

您可以使用以下方法之一...

  • 使用javascript eval。在JSNI中嵌入eval

    public static native String eatString(String jstring) /*-{ 
        eval("var hello = " + jstring + ";"); 
        return hello; 
    }-*/; 
    
  • 將String作爲腳本傳遞給JSP GWT託管文件。這樣,你只能做一次 - 當GWT應用程序加載它的主機文件時。您的JSP將爲每次加載動態生成JavaScript。

    在調用GWT模塊的腳本標記之前,在GWT託管html文件的小時GWT中放置以下內容。

    <script> 
    var hello = {'name':'ganesh','sex':'male','age':'22'}; 
    </script> 
    

    然後在您的GWT應用程序中,使用GWT Dictionary類來引用託管文件中聲明的任何javascript對象。

  • 使用以下實用程序,特別是JsonRemoteScriptCall.java來讀取遠程的SLD-SOP JavaScript對象到您的GWT應用程序中。 http://code.google.com/p/synthfuljava/source/browse/trunk/gwt/jsElements/org/synthful/gwt/javascript/#javascript%2Fclient

    請注意 - SLD-SOP物體中可能存在危險。閱讀二級域名,同一來源策略瀏覽器安全性。

  • 使用RestyGWT並假設來自服務器的數據符合REST數據結構。但是,當然,已經爲您完成了對json.org和google JSON utils的使用。

相關問題