javascript - JSON 对象和字符串函数

标签 javascript json

我正在尝试对 JSON 属性值调用startsWith() 字符串函数:

{“消息”:“xyzabc”}

var jsonResponse = JSON.parse(httpResponse.text);
var stringMessage = jsonResponse.message.toString();
if(stringMessage.startsWith('xyz')) {
...
}

但我收到错误:

Object xyzabc has no method 'startsWith'

我怎样才能做到这一点?

代码在服务器端运行,Express 在 Node.js 上运行

最佳答案

您的浏览器可能不支持 startsWith() 函数,因此您可以使用 RegExp 来解决这个问题,如下所示...

var jsonObject={message:"xyzHELLO"};
var regex=new RegExp("^xyz");
if(regex.test(jsonObject["message"])){
alert("hello");
}

Live Demo HERE

[编辑]

如果您想在每个 string 中添加函数 startsWith() ,您可以像这样添加

if (String.prototype.startsWith !== "function") {
    String.prototype.startsWith = function (searching) {
        var regex = new RegExp("^" + searching);
        if (regex.test(this.toString())) {
            return true;
        }
        else {
            return false;
        }
    }
}

之后你可以像这样使用:

var jsonObject = { message: "xyzHELLO" };
if (jsonObject["message"].toString().startsWith("xyz")) {
    alert("start with");
}
else {
    alert("not start with");
}

[编辑]

if (String.prototype.startsWith !== "function") {
    String.prototype.startsWith = function (searching) {
        if (this.toString().indexOf(searching) == 0) {
            return true;
        }
        else {
            return false;
        }
    }
}

根据 @nnnnnn 的评论,我也认为如果我们使用 JavaScript 的 native 函数,这是一个很好的做法,谢谢 @nnnnnn。

关于javascript - JSON 对象和字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38007770/

相关文章:

javascript - 关闭总是需要在 IIFE 中吗?

javascript - Backbone.js 主从 View 、导航问题(包括 jsfiddle)

javascript - 事件处理程序返回未定义?

php - Laravel资源集合-分页-JSON响应错误

javascript - 如何将 React useState 钩子(Hook)解构到命名空间中?

javascript - React.js 嵌套树拖放

android - 如何在 Android Studio 中将列表字段返回为空列表 "[]"?

c# - 使用 Json.NET 从 WebService 反序列化大型 json

java - 解析 JSON 的简单 Spring 代码

javascript 无法在 mvccontrib 网格中工作