json遇到的问题

`

        let cjm = {
            pagesize:1,
            pagenum:2,
            obj:'{}'
        }
        
        JSON.parse(cjm.obj).status = 1;
        console.log(cjm);

`

我想往cjm.obj里的json字符串里塞一个status字段,但是最终打印cjm还是原来的cjm,求教怎么输出
`

       {
            pagesize:1,
            pagenum:2,
            obj:'{
              status:1
            }'
        }

`

阅读 2k
3 个回答
        let cjm = {
            pagesize:1,
            pagenum:2,
            obj:'{}'
        }
        
        const obj = JSON.parse(cjm.obj)
        
        obj.status = 1;
        cjm.obj = JSON.stringify(obj)
        console.log(cjm);

JSON.parse前后的东西实际上只有结构和值有所关联,而不会相互影响(利用这一特点可以实现树形结构数据的深拷贝)。
所以修改之后你得再把它转为字符串,然后替换原来的 cjm.obj

let cjm = {
    pagesize:1,
    pagenum:2,
    obj:'{}'
}

let obj = JSON.parse(cjm.obj);
obj.status = 1;

cjm.obj = JSON.stringify(obj);
 

cjm.obj看似Object,其实是个String

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题