JS实现给json数组动态赋值的方法示例


Posted in Javascript onMarch 19, 2020

本文实例讲述了JS实现给json数组动态赋值的方法。分享给大家供大家参考,具体如下:

json 数组也是数组:

//1、
var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]";
var jsonarray = eval('('+jsonstr+')');
var arr =
  {
   "name" : $('#names').val(),
   "value" : $('#values').val()
  }
jsonarray.push(arr);
//2、
var json={};// 定义一个json对象
json.array1=["2","4"];// 增加一个新属性,此属性是数组
json.array1[json.array1.length]='6';// 数组追加一个元素
alert(json.array1)

给json类型的字符串动态赋值

json类型的字符串,需要使用json.parse()方法,先转换成json的对象,然后将其赋值给一个var类型的变量,最后为该变量使用push方法,动态赋值。

如果直接使用json.parse("jsonString").push,就会弹出push is not a function

嫌麻烦的话,可以使用(json.parse("jsonString")).push

var arr = {"id": scheduleId, "isDelete": true};
var jsonArray = JSON.parse(scheduleList);
jsonArray.push(arr);

下面是其他人的补充

Js中动态创建Json,动态为Json添加属性、属性值

var param = {};
 for(var i=0;i<fields.length;i++){
  var field = fields[i];
  if(field.searchCondition != undefined && $('#search'+field.name).val() != ''){
   param["search."+field.name]=$('#search'+field.name).val();
  }
 }

在js中,一个[]认为是数组;{}认为是Json对象;

var json = {};

定义一个Json对象;

为Json对象赋值:

json[aa] = "xx";

eval 解析json报错 提示缺少“;”
如果json串没问题的话,用eval('('+json+')');试试,换成单引号

javaScript动态创建数组、动态赋值json数据方法之一

/*测试:动态创建数组,动态赋值json数据*/
var json2 = "{'name':'zhangsan','age':99}";
var persons = new Array();
persons[ 0 ] = new Object();
persons[ 0 ].name = "xxx";
persons[ 0 ].age = 18;
persons[ 1 ] = new Function("return" + json2 )();
alert(  persons[ 1 ].name + persons[ 1 ].age );

/*上面结果显示 zhangsan99*/

/* json里面的数组转为JS的数组*/
var jsonXX = "[ {name:'zhangsan',age:99},{name:'lisi',age:77}]";
var obj = new Function("return "+jsonXX)();
for(var b in obj)
{
alert(obj[b].name);
}

/*补充安全一点做法是,要判断一下*/

var obj=(function ToJSON(o)
{
if( typeof ( o ) == "string")
{
try
{
return new Function("return "+o)();
}
catch( e )
{
return null;
}
}
})( jsonXX);

把json格式的字符串转换成javascript对象或数组

第一种

JSON.parse(jsonString)

第二种

eval("("+jsonString+")")

或者

eval('('+json+')');

第三种

var obj=(function ToJSON(o){
if(typeof(o)=="string")try{return new Function("return "+o)();}catch(e){return null;}
})("[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}]");
for(var b in obj)alert(obj[b].name);

Javascript 相关文章推荐
JSQL 基于客户端的成绩统计实现方法
May 05 Javascript
动态调用CSS文件的JS代码
Jul 29 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 Javascript
js判断客户端是iOS还是Android等移动终端的方法
Dec 11 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
实现图片预加载的三大方法及优缺点分析
Nov 19 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
Nov 01 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
利用JS如何获取form表单数据
Dec 19 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
Jun 05 Javascript
详谈vue中router-link和传统a链接的区别
Jul 22 Javascript
原生js实现弹幕效果
Nov 29 Javascript
JavaScript之Canvas_动力节点Java学院整理
Jul 04 #Javascript
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 #jQuery
jQuery动画_动力节点节点Java学院整理
Jul 04 #jQuery
JS点击缩略图整屏居中放大图片效果
Jul 04 #Javascript
理解Angular的providers给Http添加默认headers
Jul 04 #Javascript
详解在Angular项目中添加插件ng-bootstrap
Jul 04 #Javascript
详解在 Angular 项目中添加 clean-blog 模板
Jul 04 #Javascript
You might like
php将字符串转换成16进制的方法
2015/03/17 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
2018/04/24 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
php实现数字补零的方法总结
2018/09/12 PHP
javascript delete 使用示例代码
2010/03/29 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
Python程序控制语句用法实例分析
2020/01/14 Python
Python网页解析器使用实例详解
2020/05/30 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
客户代表自我评价范例
2013/09/24 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
实习单位评语
2014/04/26 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
银行催款通知书
2015/04/17 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python