修复无效 JSON 的正则表达式

2024-04-24

我正在对服务进行 API 调用,但它返回无效的 JSON。 photo_url 字段没有将 url 封装在引号中。我将它作为字符串,并尝试编写一个正则表达式来在 url 周围添加引号。我使用 Titanium 在 Javascript 中完成这一切。

这是我现在的代码:

var response = '[{"friend_request":{"about_me":"","friend_id":"11043271728","gender":"M","display_name":"foo","age":21,"photo_url":http:\/\/s.foo.com\/img\/nopic\/MB_90x90_male.gif,"hometown":""},"friend_request":{"hometown":"","display_name":"bar","gender":"M","age":"","friend_id":"11040542298","about_me":"","photo_url":http:\/\/s.foo.com\/img\/nopic\/MB_90x90_male.gif}}]';
var pattern = /http.*(,|\}|\s)/i;
var flip = target.match(pattern);
var foo  = target.replace(flip, "\"" + flip + "\"");
console.log(foo);

这是人类可读形式的 JSON:

[
  {
    "friend_request": {
      "about_me": "",
      "friend_id": "11043271728",
      "gender": "M",
      "display_name": "foo",
      "age": 21,
      "photo_url": http:\/\/s.foo.com\/img\/nopic\/MB_90x90_male.gif,
      "hometown": ""
    },
    "friend_request": {
      "hometown": "",
      "display_name": "bar",
      "gender": "M",
      "age": "",
      "friend_id": "11040542298",
      "about_me": "",
      "photo_url": http:\/\/s.foo.com\/img\/nopic\/MB_90x90_male.gif
    }
  }
]

目前,它正在寻找该模式的起点,但仍在进一步发展。我相信这与逗号有关。我知道应该发生多个模式匹配,但现在,我只是想让一个模式匹配工作。在此先感谢您的帮助。


var response = '[{"friend_request":{"about_me":"","friend_id":"11043271728","gender":"M","display_name":"foo","age":21,"photo_url":http:\/\/s.foo.com\/img\/nopic\/MB_90x90_male.gif,"hometown":""},"friend_request":{"hometown":"","display_name":"bar","gender":"M","age":"","friend_id":"11040542298","about_me":"","photo_url":http:\/\/s.foo.com\/img\/nopic\/MB_90x90_male.gif}}]';

var str = response.replace( /("photo_url":)([^,}]+)([,\}])/g, '$1"$2"$3' )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

修复无效 JSON 的正则表达式 的相关文章

  • 如果 Row1 = 值 1,则更新其他行

    我有一个小的 php 脚本 用于访问 mySql 数据库 我想在数据库中插入新记录之前查看该数字 值 1 是否等于数据库中的记录 这也在第 1 行 所以我想 查看传入的电话号码是否等于数据库中的电话号码 如果是这样 则必须保持电话号码相同的
  • ngx-DataTable 对列进行排序无法正常工作 Angular 4

    虽然我对角度非常陌生 但我在使用 ngx DataTable 时遇到了一些困难 我使用简单的 ngx DataTable 进行简单的操作 问题出在列上 尽管我已将 attr 声明为 sortable true 但排序不起作用 这是代码 表定
  • 获取请求的客户端 IP 地址而不是 Cloudflare 的 IP 地址

    Cloudflare 会更改传入请求的 IP 地址 因为 Cloudflare 是我的网站和互联网之间的中间件 代理 我该怎么办获取请求的初始IP地址 而不是 Cloudflare 的 IP 地址 我听说过mod cloudflare但是这
  • jQuery 验证日期范围问题

    我的代码中有很多地方有成对的相关开始和结束日期字段 范围 我需要验证开始日期早于结束日期 我正在使用 jQuery 验证插件 这是我的代码 http jsfiddle net jinglesthula dESz2 http jsfiddle
  • 光滑的旋转木马不工作

    我一直在尝试简单地实现 Slick Carousel 的工作 我已按照 Git 页面上的说明进行操作 https github com kenwheeler slick https github com kenwheeler slick 这
  • vscode 中正则表达式的不完整量词

    我正在尝试为对象的开头创建一个正则表达式 以便我可以用单个替换完整的块 在vscode的查找和替换中 My Regex id oid 0 9 product id 0 9 我的示例输入 id oid 973 product id 973 p
  • 在 JavaScript 中定位提示弹出窗口

    我有一个如下所示的 JavaScript 提示 我想将提示放在屏幕中心 如何使用 javascript 做到这一点 function showUpdate var x var name prompt Please enter your na
  • 改进 D3 序列旭日示例

    This D3示例作为我的出发点 http bl ocks org kerryrodden 7090426 http bl ocks org kerryrodden 7090426 我想更改提供图表的数据 并且我做了以下新示例 http j
  • 离子旋转器未显示

    我用 http 请求填充 Ionic 集合重复列表 但我不想将所有内容直接加载到 DOM 中 因此 我只显示其中一些项目 并在您向下滚动时添加其余项目 为此我实现了无限滚动功能 当我到达页面底部时 它应该显示一个旋转器 但它没有 这些物品至
  • 更新 Google 地图流量层而无需重新加载页面

    我的页面中嵌入了 Google 地图 我使用 initMap js 函数来初始化地图 function initMap var map new google maps Map document getElementById t map zo
  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • 获得一次性绑定以适用于 ng-if

    这个问题已经被之前问过 https stackoverflow com questions 23969926 angular lazy one time binding for expressions 但我无法让该解决方案发挥作用 所以我想
  • 无法在渲染器进程中使用 Node.js API

    无法在 Electron 中使用任何与 Electron 或节点相关的操作 未定义获取错误过程 我检查了他们指导添加节点支持的各个地方 但这已经完成了 所以卡在这里 我的主要应用程序代码是 const electron require el
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • HTML 和 JavaScript - 将滚动操作从一个元素传递到另一个元素

    假设我有两个 div div div div A scrollable list div 我想让它当光标停在里面时 control并且鼠标滚轮滚动 view将会滚动 无论如何要实现这一目标 好的 快速修复对我有用 即使固定 div 不可滚动
  • 如何在 JavaScript 中对关联数组进行排序?

    我需要为我的一个项目通过 JS 对关联数组进行排序 我发现这个函数在 Firefox 中运行得很好 但不幸的是它在 IE8 OPERA CHROME 中不起作用 无法找到使其在其他浏览器中运行的方法 或者找到另一个适合该目的的函数 我真的很
  • 如何使用 Jest 测试对象键和值的相等性?

    我有一个mapModule我在其中导入组件并导出它们 import ComponentName from components ComponentName export default name ComponentName 我该如何测试ma
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 如何设置 Firebase 用户的显示名称?

    根据Firebase网站上的JS Auth文档 它只展示了如何获取 displayName 以及如何更新 displayName 所以我尝试更新它 但这有点不合逻辑 因为你怎么能在不创建某些东西的情况下更新它呢 所以我的问题是 如何设置注册

随机推荐

  • 如何修剪字符串而不包含空格

    如何从字符串中删除空格和其他空白字符 我不想只删除字符串末尾的空格 而是删除整个字符串的空格 您可以使用正则表达式
  • 使用 NSMetadataQuery 搜索文件根本没有任何作用

    我尝试使用 NSMetadataQuery 和 NSPredicate 来搜索文件 经过几个小时的尝试和寻找解决方案 我是 swift 的新手 我有一个小例子 它编译得很好 但结果为零 我尝试了不同的谓词 但最终metadataQuery
  • 为什么 git-cvsimport 缺少一个主要补丁集?

    这是后续我之前的一个问题 https stackoverflow com questions 683091 how do i debug git cvsimport cant see complicated commit 我可以查看 cvs
  • 使用 Python 注册“Hello World”DBus 服务、对象和方法

    我正在尝试导出名为的 DBus 服务com example HelloWorld 有一个物体 com example HelloWorld 和方法com example HelloWorld SayHello如果使用调用该方法 则打印 he
  • Spring Integration - 如何保留原始有效负载并在以后使用它?

    我想保留原始请求的原始有效负载 并将其放入 xslt transformer 或其他操作中 我丢失了它 因为我使用 xslt transformer 并且我只需要转换中的一些元素 所以我的场景是 1 inbound gateway 传入 W
  • MySQL:跨多个表的多列联接?

    我有一组三张表 Dining Tables Field Type Null Key Default Extra dining table int 11 NO PRI NULL bus boy varchar 35 NO NULL
  • 在 Chrome 中调试 XSLT

    我在 Chrome 中进行 XSL 翻译时遇到问题 我想知道是否有任何工具可以让我逐步浏览样式表以查看问题出在哪里 Use 节点测试 http dpawson co uk xsl sect2 nodetest html检查 XPath 查询
  • 超时已过。操作完成之前超时时间已过,或者服务器未响应。该语句已终止

    我的网站有很多用户 每天20000 60000 这是一个移动文件下载网站 我可以远程访问我的服务器 Windows Server 2008 R2 我收到了 服务器不可用 之前有错误 但现在我看到连接超时错误 我对此不熟悉 为什么会发生这种情
  • 将数据批量加载到sqlite中?

    有人对可用于将存储在分隔文本文件中的数据批量加载到 SQLite 数据库中的实用程序有任何提示吗 理想情况下 可以从脚本等中将其作为独立程序调用 我工作的一个小组拥有一个 Oracle 数据库 该数据库会将大量数据转储到文件中 然后将这些数
  • 使用环境变量设置 Hystrix 超时

    为了更改 Hystrix 的默认请求超时 1000ms 必须设置以下属性 hystrix command default execution isolation thread timeoutInMilliseconds 2000 对应的环境
  • 如何让浏览器(IE和Chrome)在脚本之前请求图像?

    Note 如果您是第一次阅读本文 您可以直接跳到更新 因为它更准确地解决了问题 所以我得到了一个网页 在头部我有一个 CSS 背景图像 在页面底部我加载我的脚本 由于脚本位于页面底部 CSS 位于页面顶部 我假设浏览器将首先加载图像 然而
  • 使用 ItemsSource 之前,项目集合必须为空

    如果我将 DataTrigger 放入一个简单的列表框中 我会收到此运行时异常 使用 ItemsSource 之前 项目集合必须为空 我的列表框没有数据触发 也不例外
  • 删除父级 DIV

    我有这个html代码 div class action some text a class delete action some a div div class action some text a class delete action
  • 将 r 中的数据帧转换为事务或 itemMatrix?

    我有一个数据data frame我想将其转换成的格式transactions or an itemMatrix 检查功能arules支持这两种数据格式这就是我问这个问题的原因 library arules 示例 1 从矩阵创建交易 a ma
  • 如何在primeng自动完成角度8中对建议嵌套列表进行分组

    我正在尝试对自动完成建议进行分组 并希望在 primeng 中呈现它们 我们如何在primeng中添加自定义模板 my data data id m1 name menu1 val D items id d1 name datanested
  • 修复重载运算符“+”的使用不明确?

    我使用 C 11 标准编写了以下代码 h file include Auxiliaries h class IntMatrix private Dimensions dimensions int data public int size c
  • Cocoa 脚本:返回“null”与“缺失值”

    看来 AppleScript 知道这个特殊值null 如何从基于 Cocoa 脚本的应用程序中为可编写脚本的属性返回这样的值 如果我回来nil NULL or NSNull对于来自我的基于 Cocoa 脚本的应用程序的可编写脚本的属性 ge
  • Bootstrap 右栏位于移动视图顶部

    我有一个像这样的引导页面 div class row div class col md 6 A div div class col md 6 B div div 好像 A B 因此 如果我在移动设备上查看它 A 列位于顶部 但我希望 B 列
  • 正则表达式大于零,保留 2 位小数

    我需要一个正则表达式来表示最多两位小数大于零的数值 并且个数列中可能有也可能没有零 我还应该添加 整数就可以了 请参阅下面的一些内容 但可能存在前导或尾随空格 Good values 1 0 1 1 12 123 12 92 092 092
  • 修复无效 JSON 的正则表达式

    我正在对服务进行 API 调用 但它返回无效的 JSON photo url 字段没有将 url 封装在引号中 我将它作为字符串 并尝试编写一个正则表达式来在 url 周围添加引号 我使用 Titanium 在 Javascript 中完成