首页新闻找找看学习计划

js拼接对象里面含数组的json数据?

0
悬赏园豆:20 [已解决问题] 解决于 2019-12-05 16:31

本人新手,对js了解不深,js拼接对象里面含数组json字符串不知道怎么搞了,求大神指导
目标数据格式是后台的兄弟限定死了格式

数组代码

      var crulearr=[]
      for(var ccode of this.newDB){
        if(ccode.id == this.ipboxid){
          crulearr.push('{"rules":[{"field":"ParentID","op":"equal","value":"'+this.ipboxid+'","type":"int"},{"field":"CarbinCode","op":"equal","value":"'+this.cabincodearr+'","type":"string"}],"op":"and"}')
        }
        else{
          crulearr.push('{"rules":[{"field":"ParentID","op":"equal","value":"'+ccode.id+'","type":"int"},{"field":"CarbinCode","op":"equal","value":"'+ccode.cabincodes+'","type":"string"}],"op":"and"}')
        }
        
      }
      console.log('row202:'+ JSON.stringify(crulearr))

数组数据如下:

拼json数据代码

      var rules='{"groups":'+ JSON.stringify(crulearr) +',"op":"and"}'
      this.prule=JSON.parse(rules)
      console.log('row222:'+ JSON.stringify(this.prule) )

获取到的数据如下:

想要实现的数据格式:

2136的主页 2136 | 初学一级 | 园豆:176
提问于:2019-11-17 23:31
< >
分享
最佳答案
0

直接写对象最后再来执行 JSON.stringify 就可以
如果一定要这样写 那就在 crulearr.push 的时候先 parse 了
crulearr.push(JSON.parse('{"rules":[{"field":"ParentID","op":"equal","value":"'+this.ipboxid+'","type":"int"},{"field":"CarbinCode","op":"equal","value":"'+this.cabincodearr+'","type":"string"}],"op":"and"}'))

收获园豆:15
by.Genesis | 小虾三级 |园豆:1624 | 2019-11-18 22:57
其他回答(1)
0

首先你这图片过小根据无法正常预览(看不清),关于 json 的知识点可以参考下(基本上通俗易懂):

收获园豆:5
知音12138 | 园豆:155 (初学一级) | 2019-11-18 08:33

多谢提醒,已经将图片换成清晰的了;
感谢指导,自己了解json数据拼接,尝试进行json字符串与json对象之间的转换;

支持(0) 反对(0) 2136 | 园豆:176 (初学一级) | 2019-11-18 09:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册