如何解析javascript中返回的这个对象?

时间:2013-10-07 20:53:47

标签: javascript jquery arrays

我收到以下回复,但我无法找出解析数据的最佳方法。它可以分配给数组吗?

{ message_type="oauth2_complete", code="4809c705bd1453fea1e20c442c41d96e4c32c03765cb5bfc69", state="robot" }

您可以在此处查看/运行代码:http://jsfiddle.net/nfg9j/1/

该帐户的登录信息是 电子邮件:test@mailinator.com 密码:password1

2 个答案:

答案 0 :(得分:0)

如果= :(并且你的密钥周围有双引号),你可以使用getJSON,但是如果你绝对必须解析这个并且没有办法获得有效响应,您可以使用String(object)变成一个字符串,并使用split(",")后跟split('=')来检索您的键值对。我从未见过这种反应......

答案 1 :(得分:0)

考虑到它不是标准格式,您可以使用正则表达式来解析文本响应:

var responseText='{ message_type="oauth2_complete", code="4809c705bd1453fea1e20c442c41d96e4c32c03765cb5bfc69", state="robot" }';
var parsedResponse={};
responseText.replace(/(\w+?)="([^"]*)"/g,function($0,$1,$2){parsedResponse[$1]=$2;});
console.log(parsedResponse);

$ 1捕获密钥,$ 2捕获值。

现场演示:http://jsfiddle.net/G6TSd/