使用JSON解析/stringify操作数据
Manipulating data using JSON parse/stringify
我有一个关于使用Javascript和stringify/parse操作JSON数据的问题。在下面的示例中,我创建了一个JSON字符串,然后使用parse将其转换回对象。完成此操作后,我想做的是删除具有特定ID的项,而我能找到的唯一方法是遍历整个数组,并在找到匹配项后从数组中删除元素。这似乎不是很有效。有更好的方法吗?
var employees = [];
//build the array
for (var i=0; i < 10; i++) {
var player = { "id": i, "salary": i*1000000 };
employees.push(player);
}
json_employees = JSON.stringify({employees: employees}); //convert to json string
alert(json_employees); //display the new string
var obj = JSON.parse(json_employees); //convert back to a Javascript object
for (var j=0; j < obj.employees.length; j++) { // loop through the array
if (obj.employees[j].id === 5) // is it the employee with id 5?
obj.employees.splice(j, 1); // remove the fifth item
}
json_modified_employees = JSON.stringify({employees: obj.employees}); //convert back to json string
alert(json_modified_employees); //display the new string
您可以将员工存储在一个对象中,其中包含他们的id
密钥,类似于以下内容:
// create a store object
var employees = {};
//build the array
for (var i=0; i < 10; i++) {
var player = { "id": i, "salary": i*1000000 };
// add item to store object with a key of 'pk' + i
employees['pk' + i] = player;
}
json_employees = JSON.stringify({employees: employees}); //convert to json string
alert(json_employees); //display the new string
var obj = JSON.parse(json_employees); //convert back to a Javascript object
// remove the required item (in this case number 5)
delete obj.employees['pk' + 5];
json_modified_employees = JSON.stringify({employees: obj.employees}); //convert back to json string
alert(json_modified_employees); //display the new string
如果你想迭代你的员工,你会
for (var key in employees) {
if (employees.hasOwnProperty(key)) {
alert(employees[key].id)
}
}
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- fluxxor向一个flux实例添加一组以上的操作
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 操作放置在画布上的元素之间的连接
- 使用“+="操作人员
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Jquery未定义函数正在停止其他操作
- 如何操作iframe之外的元素
- javascript对象操作:根据指定条件选择属性
- jQuery:暂停按钮可以暂停所有其他操作
- 用于选择/文本框操作的JavaScript
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 通过javascript操作图像,非常简单
- 将文本框中的值用于按钮窗体操作上的变量
- 当通过AJAX调用时,控制器操作不会执行
- 多于两个操作数的OR操作