修复无效 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 的正则表达式 的相关文章

  • 从具有多行记录的文件中提取数据,将每个范围保存到单独的文件中

    我有一个看起来像这样的文件 TRANSACTION STARTED 020t CARD INSERTED 020tCARD 5845 DATE 01 02 16 TIME 05 45 52 05 46 26 GENAC 1 ARQC EXT
  • 验证 Salesforce ID

    有没有办法验证 Salesforce ID 也许使用 RegEx 它们通常是 15 个字符或 18 个字符 但它们是否遵循我们可以用来检查它是否是有效 ID 的模式 验证 salesforce ID 有两个级别 使用正则表达式检查格式 a
  • 如何将毫秒转换为可读的日期?

    下列 new Date 1324339200000 toUTCString Outputs Tue 20 Dec 2011 00 00 00 GMT 我需要它返回Dec 20 除了我可以使用的更好的方法之外toUTCString 我正在寻找
  • 用于自由形式绘图的 javascript 库

    是否有一个 JavaScript 库可以让我在网页上绘图 然后保存该绘图的状态 我想使用鼠标绘制 2D 图像 然后如何存储和加载该绘图 使用 HTML5 画布 绘制图像的简单示例如下 http jsfiddle net ghostoy wT
  • 如何在 Ionic 2 中动态创建具有特定类的模式?

    嗨 我已经被一个问题困扰好几天了 到目前为止还没有研究证明足够 我正在尝试在 Ionic 2 中创建一个具有特定类 或 id 的简单模式 我需要这样简单的东西
  • Android键盘点击搜索输入时出现和消失

    我在用谷歌地图 Js API当我搜索一个地方时 我的输入搜索栏工作正常 当我通过 iPhone 设备使用它时 它也工作得很好 但是当我通过Android 设备然后键盘立即出现和消失 我已经找到了一些关于当我按下搜索栏时 android 键盘
  • ES6 Promises/在满足多个 Promise 后调用函数(不能使用 Promises.all)[重复]

    这个问题在这里已经有答案了 我正在编写 Javascript 它需要这些事件按以下顺序发生 同时触发多个 API 调用 所有调用完成且响应返回后 执行一行代码 听起来很简单 但棘手的部分是我不能使用 Promises all 因为我仍然希望
  • 在 shell 中处理 json 时,例如使用curl,如何正确地将多个 jq 语句链接在一起?

    我是 jq 新手 所以如果这不是 jq 问题或 json 问题 请为我指出正确的方向 我不确定正确的术语 因此我很难正确地阐明问题 我正在使用curl 来提取一些json 我想过滤掉具有特定值的键 以下是一些示例 json id 593f4
  • Immutable.js 推入嵌套对象中的数组

    假设有一个对象 const object foo bar 1 2 3 我需要推动4 to object foo bar array 现在我正在这样做 const initialState Immutable fromJS object co
  • 如何在 Vue.js 2 中使用事件总线通过自定义事件传递数据

    我在用着Vue js 2 5 x 在我的玩具项目中 我实现了一个事件总线 类似于所示的here https alligator io vuejs global event bus 事件总线在 Vue 原型中全局注册为 eventBus 然后
  • 如何设置第三方 cookie

    我如何设置第三方 cookie 我有要求设置cookie 并且cookie将在访问的网站中启用 就像我在访问cde com或def com或ghi com时在abc com中设置cookie一样 所以设置的cookie将在所有网站上获取 我
  • 脚本标签内的 Razor RenderSection - 如何将脚本从视图插入模板函数

    我正在使用 MVC 3 和 Razor 视图引擎 我想将多个视图中的脚本注入到一个集中定义的视图中 document ready 母版页中的功能 我已经尝试过以下方法 在我的大师看来 然后 section DocumentReady ale
  • c3js数据标签的位置

    有没有可能的方法来更改数据上方标签的位置c3条形图 在官方文档中 很好地解释了如何通过操作 y 和 x 整数来更改 x 和 y 测量轴上标签的位置 但我没有找到任何数据标签 我试图用简单的方式指出它d3其上c3是基于但是console lo
  • jQuery.ajax() 记录 HTTP 请求

    我有一个发送 HTTP POST 请求的函数 我想记录它以进行调试 这是函数 function serverRequest URL DATA callback ajax url URL type POST dataType text con
  • javascript捕获文本区域中的粘贴事件

    我目前有一个文本区域 我需要控制已粘贴的文本 本质上 我需要能够将用户想要粘贴到文本区域中的任何内容并将其放入变量中 然后我将计算出他们粘贴文本的位置和字符串的大小 以将其从文本区域中删除 然后最后用我自己的方式处理变量中的文本 我的问题
  • IE 开发工具断点不起作用

    我正在尝试在 IE 11 中调试一些 javascript 但无法强制它在断点处停止 debugger 行工作正常 停止该行中的调试器 相同的文件没有debugger 行但在同一位置设置断点不会执行任何操作 功能正常 但调试器不会在断点处停
  • 在 Javascript 中使用 fetch API 接收和处理 JSON

    在我的项目中 当条件不足时 我的 Django 应用程序会发送带有消息的 JSON 响应 我使用这个 JsonResponse 指令 Code data is taken email email return JsonResponse da
  • 如何找出javascript中加载了哪些javascript?

    继另一个问题的评论之后 我问自己是否有办法获取页面上加载的所有 js 代码的列表 就像 Firebug 或 chrome Inspector 所做的那样 有没有一种纯javascript的方法 一种方法是抓取脚本标签 但这样你可能会错过动态
  • 来自 ajax 的 Bootstrap 表 json

    我有 ajax 和 bootstrap 表的问题 我有一个 ajax JSON 我用这个方法调用 document ready function ajax url php process php method fetchdata dataT
  • Page_ClientValidate 正在验证多次。

    我的问题是 验证摘要消息 警报 显示两次 我无法弄清楚原因 请帮忙 这是代码 function validate javascript function if typeof Page ClientValidate function var

随机推荐

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

    如何从字符串中删除空格和其他空白字符 我不想只删除字符串末尾的空格 而是删除整个字符串的空格 您可以使用正则表达式
  • 使用 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 中完成