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 相关文章推荐
网页常用特效代码整理
Jun 23 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
jquery ajax属性async(同步异步)示例
Nov 05 Javascript
jtable列中自定义button示例代码
Nov 21 Javascript
在Ubuntu上安装最新版本的Node.js
Jul 14 Javascript
jQuery中removeClass()方法用法实例
Jan 05 Javascript
JS实现的添加弹出层并完成锁屏操作示例
Apr 07 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
Dec 07 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
Nov 26 Javascript
vue 中 get / delete 传递数组参数方法
Mar 23 Vue.js
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/20 PHP
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
VUE中的无限循环代码解析
2017/09/22 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
微信小程序登录session的使用
2019/03/17 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
Python批量按比例缩小图片脚本分享
2015/05/21 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python数组循环处理方法
2019/08/26 Python
解决c++调用python中文乱码问题
2020/07/29 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
决定成败的关键——创业计划书
2014/01/24 职场文书
便利店促销方案
2014/02/20 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
优秀党员推荐材料
2014/12/18 职场文书
Python实现生成bmp图像的方法
2021/06/13 Python