首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从文本中获取JSON数据?

如何从文本中获取JSON数据?
EN

Stack Overflow用户
提问于 2013-07-26 08:10:46
回答 2查看 128关注 0票数 2

我有一根绳子,就像这样:

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,因为可以有第一对象的结尾和其他对象的开头。

EN

回答 2

Stack Overflow用户

发布于 2013-07-26 08:16:15

假设在JSON部分之外没有大括号,并且假设编码的是一个对象(而不是数组),那么您可以这样做

代码语言:javascript
复制
var obj = JSON.parse(s.match(/({.*})/)[1]);

如果在外部有大括号,就必须寻找一种更可靠的方法来检测JSON部分的开始和结束。

票数 5
EN

Stack Overflow用户

发布于 2013-07-26 08:20:01

代码语言:javascript
复制
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());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17876221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档