Web services web服务调用问题?
当我调用web服务时,数据不是以正确的方式出现的。有些块是字符串、整数、字符,表示json格式的混合数据 1) 当我使用这种方法转换数据时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)
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作为示例-因此,询问手头更大的任务可能会更有用。请帮助我在这种情况下应该做什么。。。