【问题标题】:JSON.Stringify Adds Quotes To ID [duplicate]JSON.Stringify 将引号添加到 ID [重复]
【发布时间】:2014-01-20 08:34:41
【问题描述】:

我正在使用 JSON.stringify 和 JSON.parse 根据对在线数据库的更改来编辑我的 JSON 文件。一切正常,除了它在一个数字周围加上引号,这搞砸了 JSON 文件。例如它应该是"id": 1,但它正在打印出"id": "1"。我将如何编辑引号?我更喜欢使用 JSON.stringify 而不是替代品。

【问题讨论】:

  • 在输出结果之前尝试将字符串转换为 int us2.php.net/intval
  • 您确定1 的值在整个过程中保持为Number 吗?对于编辑,<input>.value 属性仅包含 Strings 并将对其设置的任何值进行类型转换。
  • 嗯,这个问题你问了两次,第二次是在这个问题之后 40 分钟左右!请不要这样做 - 它重复了人们的工作。我已经投票决定关闭这个作为另一个的副本,因为另一个有更多细节。

标签: javascript ajax json backbone.js stringify


【解决方案1】:

如果您从输入字段中获取数字,则数字或任何输入始终是字符串,因此被引用。

要解决这个问题,您应该为输入值添加 parseInt(),例如:

var value = parseInt($('#fieldID').val());

希望有帮助

【讨论】:

  • 但 id 字段不可编辑。没有输入。
  • 你在串什么?
  • 对数据库的更改:Backbone.Model.prototype.initialize.apply(this, arguments); this.on("change", function (model, options) { data1 = JSON.stringify(this); obj = JSON.parse(data1); $.ajax({url:"testingphp.php",type:"POST",data:{ "data3":obj }});
  • 你必须展示你是如何定义{id}的。
  • this.on("change", function (model, options) { data1 = JSON.stringify(this); 您正在对表单或字段进行字符串化。
【解决方案2】:

1 不能以真正的整数开头。在控制台中执行JSON.stringify({id: 1}) 将返回"{"id":1}"。您如何定义id 的值?我猜在这一点上,它被保存为一个字符串(即{id: "1"})。

【讨论】:

  • var columns = [{ name: "id", // The key of the model attribute label: "ID", // The name to display in the header editable: false
  • 对不起,我不是很清楚那里。我想知道您如何为您正在使用的对象的id 属性分配值JSON.stringify'ing。所以你有:[{name: "id", label: "ID", editable: false}],但是id 属性在哪里被赋值?
  • 已经在 J​​SON 值中赋值了。
  • 从它的外观看来,他正在筛选一个
  • 我只是想更新它。
猜你喜欢
  • 2015-07-27
  • 1970-01-01
  • 2019-12-11
  • 2014-11-17
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
相关资源
最近更新 更多