[英]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.