我有一根绳子,就像这样:
sometext{"points":{"point":{"lat":"55.68705772049725","lon":"21.127218855544925"},{"lat":"55.68714472465217","lon":"21.127141742035747"},{"lat":"55.6871934235096","lon":"21.12712439149618"},{"lat":"55.68733625113964","lon":"21.127151465043426"},{"lat":"55.68751168437302","lon":"21.12717761658132"},}{"lat":"55.687646800652146","lon":"21.127120200544596"},{"lat":"55.68781033158302","lon":"21.127034788951278"},{"lat":"55.687981490045786",“lon”:“lon”}
是否有可能在regex提取JSON中使用Javascript?
P.S.我得到了很多数据并把它加入到字符串中。因此,我需要从该字符串中获取json,因为可以有第一对象的结尾和其他对象的开头。
发布于 2013-07-26 08:16:15
假设在JSON部分之外没有大括号,并且假设编码的是一个对象(而不是数组),那么您可以这样做
var obj = JSON.parse(s.match(/({.*})/)[1]);如果在外部有大括号,就必须寻找一种更可靠的方法来检测JSON部分的开始和结束。
发布于 2013-07-26 08:20:01
var str = 'sometext{"points":{"point":[{"lat":"55.68705772049725","lon":"21.127218855544925"},{"lat":"55.68714472465217","lon":"21.127141742035747"},{"lat":"55.6871934235096","lon":"21.12712439149618"},{"lat":"55.68733625113964","lon":"21.127151465043426"},{"lat":"55.68751168437302","lon":"21.12717761658132"},{"lat":"55.687646800652146","lon":"21.127120200544596"},{"lat":"55.68781033158302","lon":"21.127034788951278"},{"lat":"55.687981490045786","lon":"21.12691568210721"}]}}sometext';
var object = JSON.parse(str.match(/({.*})/).pop());https://stackoverflow.com/questions/17876221
复制相似问题