【问题标题】:how to convert "["153","156","166","197"]" to ["153","156","166","197"]如何将 "["153","156","166","197"]" 转换为 ["153","156","166","197"]
【发布时间】:2018-08-09 17:58:11
【问题描述】:

如何在javascript中的[]之前或之后替换“? 请参考附件图片以获取更多参考。

当我可以通过 JSP 页面进行 ajax 时,控制器返回列表 "["153","156","166","197"]" 在 JBOSS Server 中的这种格式。

【问题讨论】:

  • 这可能是 X/Y 问题的一个案例。你是如何将这些值插入到你的 JS 中的?
  • 由于您使用 jQuery $.ajax 尝试设置 dataType: 'json' 选项。

标签: javascript jquery ajax jsp


【解决方案1】:

您可以使用eval,但最好将字符串视为 JSON 并安全解析。

JSON.parse(result);

您的服务器也可以返回一个 json 内容类型,以便客户端可以自动解析响应。

【讨论】:

  • 反斜杠只是为了转义引号;否则你不能在控制台输入字符串
【解决方案2】:

如果你的数组总是正确的,你可以使用JSON.parse()

const result = '["1", "2", "3"]'
console.log('result is array?: ', Array.isArray(result))
const arrResult = JSON.parse(result);
console.log('arrResult is array?: ', Array.isArray(arrResult))

但请记住,如果您的 result 不是可解析的 JS 对象,您将得到一个异常。在这种情况下,我建议您将代码包装到 try-catch 块中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 2017-08-30
    • 2016-01-25
    相关资源
    最近更新 更多