Javascript 如何使用正则表达式简化返回值?
我使用了Imgur API,它工作正常,问题是它返回所有参数的数据,它看起来像:Javascript 如何使用正则表达式简化返回值?,javascript,regex,Javascript,Regex,我使用了Imgur API,它工作正常,问题是它返回所有参数的数据,它看起来像: {"data":{"id":"TjJuJ29","title":null,"description":null,"datetime":1403695169,"type":"image\/png","animated":false,"width":1538,"height":839,"size":733684,"views":0,"bandwidth":0,"favorite":false,"nsfw":null,"
{"data":{"id":"TjJuJ29","title":null,"description":null,"datetime":1403695169,"type":"image\/png","animated":false,"width":1538,"height":839,"size":733684,"views":0,"bandwidth":0,"favorite":false,"nsfw":null,"section":null,"deletehash":"lCqsN0tKqWyJFET","link":"http:\/\/i.imgur.com\/TjJuJ29.jpg"},"success":true,"status":200}
我需要知道什么是正确的正则表达式,将其转换为简单的链接URL,并忘记其他参数。我正在使用Javascript
预期输出如下所示:
谢谢
编辑:这是JSON,我错了。您不想使用正则表达式 假设变量的存储方式如下:
var myResult = {"data":{"id":"TjJuJ29","title":null,"description":null,"datetime":1403695169,"type":"image\/png","animated":false,"width":1538,"height":839,"size":733684,"views":0,"bandwidth":0,"favorite":false,"nsfw":null,"section":null,"deletehash":"lCqsN0tKqWyJFET","link":"http:\/\/i.imgur.com\/TjJuJ29.jpg"},"success":true,"status":200}
然后,只需使用此链接即可:
myResult.data.link
结果似乎只不过是一个问题。但是,如果是JSON字符串,则可能需要使用
JSON.parse()
,首先:
var myResult = JSON.parse('{"data":{"id":"TjJuJ29","title":null,"description":null,"datetime":1403695169,"type":"image\/png","animated":false,"width":1538,"height":839,"size":733684,"views":0,"bandwidth":0,"favorite":false,"nsfw":null,"section":null,"deletehash":"lCqsN0tKqWyJFET","link":"http:\/\/i.imgur.com\/TjJuJ29.jpg"},"success":true,"status":200}');
嗯?这是开玩笑吗?嗯哼。。为什么是正则表达式???不要。它是JSON,因此您可以
JSON.parse
将其转换为javascript对象,然后只访问其属性myParsedObject.data.link
Oops,似乎是JSON。很抱歉谢谢你的清理!如果它最初是一个字符串,您可能需要先解析JSON.parse
。@MattBurland:是的,我的答案中添加了这个。