[英]How can I convert a json that contains array to javascript object?
我有如下的json,
{
"Message": "{\"Errors\":[\"The message.\",\"The message.\"],\"Infos\":[\"The message.\"],\"Warnings\":[\"The message.\"],\"Successes\":[\"The message.\"]}"
}
我想將其轉換為如下所示的對象,
var obj = {
Errors : new Array(),
Infos : new Array(),
Warnings : new Array(),
Successes : new Array()
}
注意:我無法在json上進行更改。
我使用了jQuery.parseJson ,但是我做不到。
您發布的內容很不尋常:它是JSON,它使用一個屬性Message
定義了一個對象,該屬性具有包含第二個嵌入式JSON字符串的字符串值。 非常奇怪的結構。
如果您真的以JSON的形式接收到它,那么:
var outer = jQuery.parseJSON(theStringWithTheJSON);
var obj = jQuery.parseJSON(outer.Message);
但是,如果您通過ajax
(例如)進行檢索,則jQuery可能已經為您完成了第一個parseJSON
,在這種情況下,您只需要執行第二個操作即可:
jQuery.ajax({
/* ...other parameters here...*/
success: function(data) {
var obj = jQuery.parseJson(data.Message);
}
});
但是,如果可以的話,我可能會更改您收到的字符串的結構,這樣就不會像這樣進行雙重編碼了:
{
"Message": {
"Errors": [
"The message.",
"The message."
],
"Infos": [
"The message."
],
"Warnings": [
"The message."
],
"Successes": [
"The message."
]
}
}
然后,您無需對其進行雙解碼,只需進行第一次解碼(這可能已經為您完成了,您沒有顯示任何代碼,因此很難說出來),並且可以使用var obj = yourVariable.Message;
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.