在设计 Hybrid 的时候,出于鉴权、数据安全等角度出发。将嵌入 App 内的网络请求让 Native 完成然后将数据包一下 {success: 1, data: 请求到的数据} 。然后将数据转成 JSON 串,然后 callback 到 JS。JS 进行 JSON.parse(data) 然后去处理数据。目前遇到的问题是 iOS 成功,Android 失败。 本人写 iOS 和 Web。贴一下 iOS 代码。 ``` responseCallback([self convertToJsonData:@{@"success":@"1",@"data":json}]);
- (NSString *)convertToJsonData:(NSDictionary *)dict{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];
NSString *jsonString;
if (!jsonData) {
LBPLog(@"%@",error);
}else{
jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
}
return jsonString;
}
各位大佬,Android 使用 GSON,请各位大佬支招。
1
dorentus 2018-08-31 18:48:51 +08:00
iOS 成功,Android 失败,不是应该贴会失败的代码吗……
|
2
stephenliubp OP @dorentus 我没有他代码,我的意思是给大家看看 iOS 的实现思路。让懂 Android 的人根据我这种写法想到 Android 对应的实现方法
|
3
hcymk2 2018-08-31 22:41:08 +08:00
其实看代码还不如对比下 js 收到 2 种语言生成的 json.
|
4
stephenliubp OP @hcymk2 看到不同也没啥用。观察给人的感觉就是字符串处理了。字符串处理肯定不行,找不到一个普适的准则
|