Web services web服务调用问题?

Web services web服务调用问题?,web-services,blackberry,Web Services,Blackberry,当我调用web服务时,数据不是以正确的方式出现的。有些块是字符串、整数、字符,表示json格式的混合数据 1) 当我使用这种方法转换数据时 StringBuffer sb = new StringBuffer(); byte[] buf = new byte[256]; int n = 0; while ((n = StrReader.read(buf)) > 0)

当我调用web服务时,数据不是以正确的方式出现的。有些块是字符串、整数、字符,表示json格式的混合数据

1) 当我使用这种方法转换数据时

        StringBuffer sb = new StringBuffer();            
        byte[] buf = new byte[256];
        int n = 0;                 

        while ((n = StrReader.read(buf)) > 0)
            {
                sb.append(new String(buf,0,n));
            }
            String returnContent = sb.toString();
            System.out.println(new String(returnContent));
            StrReader.close();

        }
 dis = new DataInputStream(hc.openInputStream());

        byte[] data1 = new byte[20];
        int len = 0;
        StringBuffer strBuffer = new StringBuffer();
        while ( -1 != (len = dis.read(data1)) )
        {
            received = new String(data1, 0, len);                                
            System.out.println(received);

        }
输出

        text/htmlj
~"115.252.128.200", "roles": { "1": "anonymous user" }, "session": "", "cache": 0 } } }
No stack trace
2) 当我用这种方法转换数据时

        StringBuffer sb = new StringBuffer();            
        byte[] buf = new byte[256];
        int n = 0;                 

        while ((n = StrReader.read(buf)) > 0)
            {
                sb.append(new String(buf,0,n));
            }
            String returnContent = sb.toString();
            System.out.println(new String(returnContent));
            StrReader.close();

        }
 dis = new DataInputStream(hc.openInputStream());

        byte[] data1 = new byte[20];
        int len = 0;
        StringBuffer strBuffer = new StringBuffer();
        while ( -1 != (len = dis.read(data1)) )
        {
            received = new String(data1, 0, len);                                
            System.out.println(received);

        }
输出

        text/html
j
~Salse, "#data": { "se
ssid": "fef51cf48aca
46e3b3aedafc02860f25
", "user": { "uid":
0, "hostname": "115.
252.128.200", "roles
": { "1": "anonymous
 user" }, "session":
 "", "cache": 0 } }
}
Outer---->>>}
No stack trace

注意。。。。“received”变量从循环中出来时会丢失数据…

问题似乎是:为什么局部变量“received”只有打印到控制台的文本片段。这是因为变量为从DataInputStream读取的每批字节分配了一个新字符串


这段代码似乎无法简明扼要地完成任务-为什么要使用DataInputStream作为示例-因此,询问手头更大的任务可能会更有用。

请帮助我在这种情况下应该做什么。。。