正则表达式保持json字符串的值

时间:2013-08-21 18:13:36

标签: javascript regex json

我有一个像这样的json字符串

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

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

2 个答案:

答案 0 :(得分:0)

试试这个:

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

话虽这么说,你应该始终使用JSON.parse处理JSON。真。

答案 1 :(得分:0)

如果这是一个“扁平”的JSON字符串,意味着没有其他对象内的对象嵌套,那么你可以编写一个正则表达式来执行它。否则,如果存在嵌套,那么您需要一个完整的标记器/解析器来执行它。原因是正则表达式仅适用于Regular languages,并且JSON更复杂并且需要正则表达式没有的堆栈