我有一个像这样的json字符串
"{\"firstName\": \"John\",\"lastname:\"smith\"}"
如何在不使用parsejson的情况下从此字符串中获取值(John,smith),比如使用regEx?
答案 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更复杂并且需要正则表达式没有的堆栈。