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 相关文章推荐
[转]JS宝典学习笔记
Feb 07 Javascript
5个javascript的数字格式化函数分享
Dec 07 Javascript
JS获取几种URL地址的方法小结
Feb 26 Javascript
EasyUI中实现form表单提交的示例分享
Mar 01 Javascript
AngularJS上拉加载问题解决方法
May 23 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
Dec 27 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
jQuery异步提交表单实例
May 30 jQuery
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
详解如何使用nvm管理Node.js多版本
May 06 Javascript
解决vue单页面应用中动态修改title问题
Jun 09 Javascript
Node.js API详解之 module模块用法实例分析
May 13 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
PHP has encountered an Access Violation
2007/01/15 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
Jquery选择器 $实现原理
2009/12/02 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
Python通过正则表达式选取callback的方法
2015/07/18 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
大学毕业生通用自我评价
2014/01/05 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
vscode中使用npm安装babel的方法
2021/08/02 Javascript
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL