0

我有一个这样的json字符串

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

如何在不使用 parsejson 的情况下从此字符串中获取值(John,smith),就像使用 regEx 一样?

4

2 回答 2

0

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

于 2013-08-21T18:19:20.830 回答
0

尝试这个:

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

话虽如此,您应该始终使用 JSON.parse 处理 JSON。真的。

于 2013-08-21T18:18:15.790 回答