2017-10-13 138 views
1

我的EJB響應喜歡這樣的:如何使用AJAX AJAX響應字符串轉換成JSON

"{'Active':{'123','456','789'},'Inactive':{'111','222','333'}}" 

我想上面的字符串,以JSON對象轉換。 將在JavaScript中使用JSON對象來繪製地圖。

或者

我希望同樣的字符串被轉換象下面在JavaScript:

變種活性= [ 「123」, 「456」, 「789」]; var inactive = [「111」,「222」,「333」];

注:我在JS中使用AJAX。

+1

[沒有沒有這樣的事,作爲一個 「JSON對象」(HTTP ://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/),你只需要一個對象。此外,您顯示的響應字符串不是有效的JSON,所有單引號字符都需要雙引號 - 如果您修復了可以使用'JSON.parse()'方法。 – nnnnnn

+0

響應只是該格式的字符串。需要轉換爲JSON – Murugesh

+0

我的觀點是不要發明自己的非標準數據傳輸格式,請修復您的EJB,以便使用有效的JSON字符串進行響應,以便JS可以使用'JSON.parse( )'。所以修正引號字符就像我已經說過的,而且我只注意到內部的'''''''似乎是定義數組,所以它們應該是'['和']'。 – nnnnnn

回答

1
var jsonString = JSON.parse(response); 

response是你從阿賈克斯REQ得到什麼(JSON字符串),並jsonString是你想要的東西

+1

請注意,問題中顯示的響應字符串不是有效的JSON。 – nnnnnn

+0

然後這將是一個解析錯誤,它只會在響應是JSON類型的字符串時才起作用。 –

-1
let JSON_Str = "{'Active':{'123','456','789'},'Inactive':{'111','222','333'}}" 

Obj = JSON.parse(JSON_Str) 
+0

考慮到字符串不是JSON,這會給出解析錯誤。 – nnnnnn

+0

僅發佈2行代碼,並未解釋此代碼如何幫助OP解決問題並不很有用。請閱讀[我如何寫出一個好的答案?](https://stackoverflow.com/help/how-to-answer)並嘗試發佈更詳細的答案。 – EhsanT

+0

'這段代碼如何幫助OP' - 答案是*不是一位* –

相關問題