为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我插入一个新值,没有反映,是不是应该用别的方法?

为什么我插入一个新值,没有反映,是不是应该用别的方法?

心有法竹 2023-04-19 18:15:25
如下所示,已有json值:json = {"width":"10","height":"10"}我用 json.push("long":"10"); 插入一个新值,但是没有反映,是不是应该用别的方法呢?
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

对于json和JavaScript对象你有点混淆了,上面的json本质上是一个对象,只是创建一个符合json格式的JavaScript对象,而对象没有push方法,push是数组方法,使用push方法会出错:
TypeError: Object #<Object> has no method 'push'

对于函数调用也有使用错误,参数的分隔符只有",",而没有":"建议多看一下文档。

给对象插入值,直接赋值就行了。

var json = {"width":"10","height":"10"};json['long']="10";

建议:
多看文档,调试时把调试窗口打开。

查看完整回答
反对 回复 2023-04-22
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

先说明一下你的JSON知识错误。

JSON 只是一种数据结构,JSON 是有一种由一定规则的纯文本内容。本身不具备任何的操作方法,需要在编程语言中,转换相应的对象后才可进行操作。例如JS中

var obj = JOSN.parse('{"width":"10","height":"10"}')

接着说你的问题。
push 是 javascript 中的数组的方法,你的这玩意是对象,所以肯定是不能使用的。

这样才是对的。

json.long = "10"


查看完整回答
反对 回复 2023-04-22
  • 2 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信