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 相关文章推荐
JavaScript Cookie 直接浏览网站分网址
Dec 08 Javascript
jquery 锁定弹出层实现代码
Feb 23 Javascript
jQuery选择没有colspan属性的td的代码
Jul 06 Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
Mar 11 Javascript
jquery实现树形二级菜单实例代码
Nov 20 Javascript
JavaScript表单通过正则表达式验证电话号码
Mar 14 Javascript
js实现iframe跨页面调用函数的方法
Dec 13 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
Mar 04 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
从0到1构建vueSSR项目之node以及vue-cli3的配置
Mar 07 Javascript
浅谈vue加载优化策略
Mar 19 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 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
一些不错的js函数ajax
2008/08/20 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
js实现随机数小游戏
2019/06/28 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
python对字典进行排序实例
2014/09/25 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
重大事项社会稳定风险评估方案
2014/06/15 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
鸡毛信观后感
2015/06/11 职场文书
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技