java服务器两种方式接收数据

来源:互联网 发布:全球tv直播软件 编辑:程序博客网 时间:2024/06/01 10:48

- (NSData *)transformPara:(NSMutableDictionary *)para

{

    NSLog(@"请求参数 = %@", para);

    NSError *error;


    NSData *data = [NSJSONSerializationdataWithJSONObject:para options:NSJSONWritingPrettyPrintederror:&error];

//    NSString *postString = [self getFormDataString:para];

//    NSData *data = [postString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];



    return data;

}



如果是 以字典转换data到请求体的方式,java后台以流的方式转换成map 然后在从map里面取字段。

 BufferedReader bw = null;

        bw =new BufferedReader(new InputStreamReader(req.getInputStream()));

            StringBuilder bud = new StringBuilder(1024);


            String line = null;

            while ((line =bw.readLine()) != null) {

                bud.append(line);

            }


            System.out.println("置单APP上送报文(IOS): " +bud.toString());

          

//            Gson g = new Gson();  

//            Map<String, String> maps = (Map<String, String>)g.fromJson(bud.toString(), Map.class);

//         String name =maps.get("userName");  

//          String password=maps.get("password");  

            

          

            

            Map<String, String> maps =    (Map)JSON.parse(bud.toString());  

            String name = maps.get("userName");  

         String password=maps.get("password");


如果是以字符串的方式转换成data传到服务器,这个就和安卓统一了,后台直接根据reuqest方式来取。

//    NSString *postString = [self getFormDataString:para];

//    NSData *data = [postString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];




java的方式:

//           String name = req.getParameter("userName");  

//           String password=req.getParameter("password");

          

要不是亲自写java服务器 ,细节方面还是很难体会的。