接口返回html转换josn,接口返回数据Json格式处理

有这样一个页面 , 用来显示用户的账户记录数据,并且需要显示每个月的 收入 支出合计

,在分页的时候涉及到一些问题,需要对返回的Json格式做处理,处理起来比较麻烦,后端返回的Json数据格式形式如下:

{

"code": "0",

"result": {

"monthAmount": [

{

"date": "2017-09",

"income": 6000000,

"expend": 1233800

}

],

"billList": [

{

"id": 2004,

"amount": 1000000,

"balance": 4776200,

"type": "1",

"sourceId": "7",

"orderNumber": "20170914100000294222",

"mchNumber": "v1500949333578",

"mchName": "大王杂货店",

"date": "2017-09-14 16:58:52"

}

]

}

}

分析以上Json数据格式,分为2个数组,一个是合计数组,一个是账户记录,我们需要将两个数组处理,将相同月份的数据展示在一起,组成新的我们需要的Json格式

"arr": [

{

"date": "本月",

"income": 6000000,

"expend": 1233800,

"items": [

{

"week": "今天",

"weekdate": "16:58",

"amount": 1000000,

"balance": 4776200,

"statusText": "团体购卡",

"type": "1",

"logo": "1"

}

]

}

]

数据上拉加载的时候如果当前月份数据未加载完,需要在最后一条记录上面追加数据,要保证分页后数据正确显示,首先我们通过遍历billList集合,得到每条记录的月份日期2017-09,与设置的date标识判断是否相等

如果是同一月份,在最后一条记录追加该条数据

let data ={week:obj.week,weekdate:obj.weekdate,amount:obj.amount,balance:obj.balance,statusText:type[obj.sourceId],type:obj.type,logo:logo[obj.sourceId],status:obj.status};

_obj.arr[_obj.arr

你可能感兴趣的:(接口返回html转换josn)