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 相关文章推荐
一些易混淆且不常用的属性,希望有用
Jan 29 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 Javascript
JavaScript事件处理器中的event参数使用介绍
May 24 Javascript
js使用循环清空某个div中的input标签值
Sep 29 Javascript
angularjs学习笔记之简单介绍
Sep 26 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
May 09 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
May 26 Javascript
jQuery hover事件简单实现同时绑定2个方法
Jun 07 Javascript
js 两个日期比较相差多少天的实例
Oct 19 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
Feb 02 Javascript
vue改变对象或数组时的刷新机制的方法总结
Apr 24 Javascript
JavaScript canvas绘制折线图
Feb 18 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的正则处理函数总结分析
2008/06/20 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
深入浅出php socket编程
2015/05/13 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
Angular实现form自动布局
2016/01/28 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python3中str(字符串)的使用教程
2017/03/23 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
Python正则捕获操作示例
2017/08/19 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
幼儿园大班开学教师寄语
2014/04/03 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
企业法人代表证明书
2015/06/18 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python