在设计 Hybrid 的时候,出于鉴权、数据安全等角度出发。将嵌入 App 内的网络请求让 Native 完成然后将数据包一下 {success: 1, data: 请求到的数据转成json 串} 。然后将数据转成 JSON 串,然后 callback 到 JS。JS 进行 JSON.parse(data) 然后去处理数据。目前遇到的问题是 iOS 成功,Android 失败。 本人写 iOS 和 Web。贴一下 iOS 代码。
- (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,请各位大佬支招。
如果你给JS的是
data后的内容显然缺少引号,正确的json应该是 data: "...."