请选择 进入手机版 | 继续访问电脑版

服务器发送“嵌套JSON“引起的崩溃

[复制链接]
阿峻 发表于 2021-1-2 17:52:31 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
配景是这样的,项目中有个付款码,被扫乐成了,配景长毗连通知,并把数据返回给客户端,调到乐成支付页面;不知道啥原因,说是配景长毗连出现问题了,没法推,
为了不影响上线时间,暂时换了一种极光推送这种方式,返回的数据是这样的:
{
_j_business = 1,
msgId = "QR_CODE_PAY",
_j_uid = 47057483522,
_j_msgid = 54043304339887413,
msgType = "QR_CODE_PAY",
aps = {
alert = "{"cardNo":"2618890000071823","cardNum":"2618890000071823","cardSysMid":"600100061110001","cardSysReferNo":"036307998077","cardSysTid":"61110001","couponAmt":"000000000060","createTime":"2020-12-30 19:27:54","disctAmt":"000000000040","merchantId":"600100061110001","msgType":"QR_CODE_PAY","orderAmt":"000000000200","orderPrice":"1","pospReferNo":"036315929090","posp_sys_data":"20201228","posp_sys_time":"152032","referNo":"036315929090","scanCode":"601048545720800891","tranAmt":"000000000100","tranStatus":"00","txnType":"PUSH_ORDER_INFO"}",
badge = 1,
sound = "",
},
}
要取alert内里的数据(有的还带了反斜线)来举行界面展示,这时候实在是要序列化两次,才气拿到最终的字典的;
//我这里是直接取的(但有的是 还需要转换一下
  1. [i]NSString * jsonString = [NSJSONSerialization JSONObjectWithData:jsonResponse options:NSJSONReadingAllowFragments error:nil];[/i]
复制代码

    NSString * jsonString =userInfo[@"aps"][@"alert"];
        
        NSData * innerJson = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
       
        NSDictionary *jsondic = [NSJSONSerialization JSONObjectWithData:innerJson options:0 error:nil];
       NSMutableDictionary *dic=[[NSMutableDictionary alloc] initWithDictionary:jsondic];
        这里之后就自由高兴处置惩罚了

来源:https://blog.csdn.net/ios_xumin/article/details/112003131
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )