2016-02-28 65 views
1

我哈瓦,即時通訊通過AJAX傳遞迴Java JavaScript對象:的Java解析對象

var jsonData = { 
     "testJson" : "abc", 
     "userId" : "123" 
}; 

當我的println地圖,它看起來像:

key: jsondata value:[object Object] 

我怎樣才能正確地分析對象?

+0

閱讀關於解析JSON對象這可以傳遞迴服務器之前轉換成字符串(透過JSON.stringify) – Jens

+0

除了傳遞給java的字符串以外,不包含任何內容。 '{...}' – Sebas

+1

這是一個javascript或java問題嗎?在JavaScript中發佈的代碼定義了一個名爲'jsonData'的對象。在傳遞迴服務器之前,這需要轉換爲一個字符串(使用'JSON.stringify')。 – traktor53

回答

1

您可以在Java中使用GSON:

class MyObject() { 
    String testJson; 
    String userId; 

    public void setTestJson(String testJson) { 
    this.testJson=testJson; 
    } 
    public String getTestJson() { 
    return testJson; 
    } 
    ... Same for userId 
} 

And then create a GSON object: 

class SomeClass { 
    public void parseMyJson(String json) { 
    Gson gson=new Gson(); 
    MyObject mo=gson.fromJson(json,MyObject.class); 
    } 
} 

在其mo現在包含您剛剛使用的getter和setter

0

由於發佈的代碼定義了一個名爲jsonDat的JavaScript對象一個。通過直接定義JSON字符串

var jsonData = { 
    "testJson" : "abc", 
    "userId" : "123" 
}; 
var jsonString = JSON.stringify(jasonData); 
在簡單的情形

或者::

var jsonString = `{"testJson" : "abc", "userId" : "123" }';