Regexp保留json字符串中的值

Regexp to keep values from json string

本文关键字:字符串 保留 json Regexp      更新时间:2023-09-26

我有一个类似的json字符串

"{'"firstName'": '"John'",'"lastname:'"smith'"}"

如何在不使用parsejson的情况下从这个字符串中获取值(John,smith),比如使用regEx?

如果这是一个"平面"JSON字符串,意味着在其他对象中没有对象嵌套,那么您可以编写一个正则表达式来执行此操作。否则,如果存在嵌套,则需要一个完整的标记化器/解析器来执行此任务。原因是正则表达式仅适用于正则语言,而JSON更复杂,需要正则表达式没有的堆栈

试试这个:

var name = the_string.match(/'{"firstName": "([^"]+)", "lastname": "([^"]+)"'}/),
var firstname = name[0],
    lastname  = name[1];

也就是说,您应该始终使用JSON.parse处理JSON。真的。