最近做项目在做一个类似于购物车的功能,点击要选择的套餐,显示在页面上,实时计算价格。本来想直接放在后台的一个临时表当中,最后发现如果用户取消操作会产生很多临时的数据,所以想把这些选择的信息放在页面上,等到用户确认要生成订单的时候在提交到后台。但是数据的结构很复杂,所以打算在JS里面拼装一个json串,用户操作的时候实时更改json串,提交到后台的json也很好处理。
下面来看json的操作:
var demo=[
{
"id":"1001",
"realprice":"1000",
“newObj”:“dsds”,
"equinfo":[
{
"equid":"001",
"equtype":"0",
"deposit":"200",
"c_payprice":"500"
},
{
"equid":"002",
"equtype":"0",
"deposit":"200",
"c_payprice":"500"
},
{
"equid":"003",
"equtype":"1",
"deposit":"0",
"c_payprice":"500"
}
]
},
{
"id":"1002",
"realprice":"2000",
"equinfo":[
{
"equid":"001",
"equtype":"0",
"deposit":"200",
"c_payprice":"500"
},
{
"equid":"002",
"equtype":"0",
"deposit":"200",
"c_payprice":"500"
},
{
"equid":"003",
"equtype":"1",
"deposit":"0",
"c_payprice":"500"
}
]
}
]
这是一个在页面上申明的json对象。
alert(JSON.stringify(demo));//把json变为json串
alert("&&&"+demo[0].equinfo[0].equid);//查找出equid的内容,(见粉红色内容)
demo[0].newObj="dsds"//更新json,把第一个数组那添加一个新的节点,并赋值。(见蓝色内容)
修改其实就是找到这个节点的对象,并重新给这个节点赋值即可。
删除:
删除有两种方式,一种是删除节点,一种是删除节点的内容。
删除节点:delete demo[0].newObj;如果是数组的话可以用splice这个方法进行删除
删除内容:其实就是找到该节点并把这个节点的内容清空即可。