首页 > 解决方案 > 如何从对象响应中删除特定键值的引号并返回相同的结构

问题描述

我的响应结构如下

{
    "last UpdatedTime":"18:00:01 AM",
    "has PErmission":false,
    "block UsersSubFeatures":true,
    "block CurrentUserTill":"NA",
    "unlock UserOnlyForVisibility":"['departmentXYZ']"
    
}

注意: "unlockUserOnlyForVisibility":"['departmentXYZ']" // 数组中的字符串。但想转换喜欢

{
    "last UpdatedTime":"18:00:01 AM",
    "has PErmission":false,
    "block UsersSubFeatures":true,
    "block CurrentUserTill":"NA",
    "unlock UserOnlyForVisibility":['departmentXYZ']
    
}

所以我尝试了 JSON.parse(),它给了我Unexpected syntaxError: unexpected token of in JSON at position 1 [Object object]

所以尝试了像下面这样成功删除引号的正则表达式。但不确定这是否是处理此问题的正确方法

谢谢您的帮助

标签: javascriptarraysobject

解决方案


解决这个问题的正确方法是修复你的后端,以及你如何生成和管理价值。如果你真的想用你的前端来修复它,你需要两个步骤:

  • 在双引号中转换单引号
  • 使用 JSON.parse 将给定的字符串转换为对象

因此,要执行这些步骤,您需要以下代码:

JSON.parse("['departmentXYZ']".replace(/'/g, '"')); // ["departmentXYZ"]

推荐阅读