javascript - JSON无法通过push()添加新字典
怪我咯
怪我咯 2017-04-10 12:44:07
[JavaScript讨论组]

如下所示,已有json值:

json = {"width":"10","height":"10"}

我用 json.push("long":"10"); 插入一个新值,但是没有反映,是不是应该用别的方法呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(5)
ringa_lee

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

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

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

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

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

黄舟

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

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

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

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

这样才是对的。

json.long = "10"
大家讲道理

json.long = "10" 这样应该就可以了吧

怪我咯

push只能在Array对象中使用,lz用的 {} 代表一个js对象,所以 json['long'] = 10 or json.long = 10才是往这个对象里面加值

PHP中文网

JSON (JavaScript Object Notation)
记住是Object,而push()是Array的方法

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号