jquery - Javascript 数组到 JSON 数组

标签 jquery json backbone.js

我正在使用 JSON 发送 Ajax 数据。我从输入文本框中获取以逗号分隔的手机号码。并且,我将其转换为 JavaScript 数组。
下面是我的代码:

  var myarray = {};
    myarray = this.model.get('mobileno').split(',');

Result : myarray : ["123", "4567"];

我将为我的模型设置相同的值,如下所示:

this.model.set('mobileno',JSON.stringify(myarray ));

然后,该值将如下所示:

console.log(this.model.get('mobileno'));

Result : mobileno : "["123","4567"]"

所以,我的模型变成了 this.model.toJSON();

Result :Object {mobileno: "["123","4567"]}

到目前为止,一切都是正确的。之后我需要将此模型设置为另一个模型,并且执行 stringfy 会给我如下所示的结果:

 anotherModel.set('data', this.model);

"data":{"mobileno":"[\"123\",\"456\"]"}

但是,我需要像 "data":{"mobileno":["123","456"]}

我们将不胜感激您的帮助。

最佳答案

JSON.stringify 从数组中生成一个字符串。这显然不是你想要的。或者正如你所说,这就是你想要的 this.model

Till here everything is correct.

但在另一种模型中,您希望将数组设置为数组,而不是字符串。因为我不知道你在用你的backbone.js做什么,所以我把它写成纯javascript

data = JSON.parse(this.model.get("mobileno"))

应该可以完成这项工作。但你可以设置

data = { "mobileno": myarray }
顺便说一句。如果backbone.js只是混淆了javascript对象和数组表示法,我建议根本不要使用它。正如您告诉我们的,backbone.js this.model.get('mobileno') 返回一个包含 mobileno 字段的对象。在我的逻辑世界中,anything.get('XY') 应该返回 XY 的值,而不是包含 XY 属性的对象。

关于jquery - Javascript 数组到 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228964/

相关文章:

javascript - 检测一个单词并将Class添加到正文

json - 如何在 AKKA-HTTP 中将 Future[Option[Foo]] 类编码为 JSON

backbone.js - 覆盖 Marionette compositeview 渲染的正确方法是什么

javascript - TypeError : this. _initChildViewStorage不是一个函数

javascript - 无法在光滑网格中设置焦点并编辑单元格

javascript - 从 xml 响应中获取 svg 元素

javascript - Express-获取router.get返回json数据属性

events - 在一个元素上 Backbone 多个 View

悬停在下拉菜单上的 jQuery 闪烁

JQuery:合并多个 JSON 结果