android中使用ksoap2获取JSON字符串的问题

android中使用ksoap2获取JSON字符串的问题,android,json,web-services,ksoap2,Android,Json,Web Services,Ksoap2,我目前正在经历一个非常奇怪的问题。我有大约1000条记录的数据库。我有一个web服务来获取这些内容并将它们转换为json字符串。使用soapui或其他web服务客户机测试这一点非常好 我的问题是,当我在android中使用ksoap2获取数据时,它会崩溃,这是最疯狂的部分:它只是有时会崩溃!?!? 经过一段时间的调试,我注意到我在android中得到的JSON与我在SOAPUI中得到的JSON几乎相同。 我看到的问题是 它删除了键和值之间的“:”,例如“id”“2”而不是“id”:“2” 它可能

我目前正在经历一个非常奇怪的问题。我有大约1000条记录的数据库。我有一个web服务来获取这些内容并将它们转换为json字符串。使用soapui或其他web服务客户机测试这一点非常好

我的问题是,当我在android中使用ksoap2获取数据时,它会崩溃,这是最疯狂的部分:它只是有时会崩溃!?!? 经过一段时间的调试,我注意到我在android中得到的JSON与我在SOAPUI中得到的JSON几乎相同。 我看到的问题是

  • 它删除了键和值之间的“:”,例如“id”“2”而不是“id”:“2”
  • 它可能在键或值的任一侧缺少一个''''。例如:“id:“2”而不是“id”:“2”
  • 已删除整个密钥,例如:“name”:“myname”,“2”而不是“name”:“myname”,“id”:“2”。此外,它不是每次都被移除的地方
  • 在我开始解析json(如果它不是有效的json,当然会失败)之前,我看到了这些错误(当我使用日志时)。当web服务返回正确的内容时(根据SOAPUI),我假设是ksoap在某种程度上搞乱了soap响应的解析

    请记住,它偶尔会起作用,json拥有所有数据并成功解析

    下面是我调用web服务的代码(json约345.000个字符):

    SoapObject request = new SoapObject(NAMESPACE, method);
    input.addPropsToRequest(request);
    
    SoapSerializationEnvelope envelope = new 
    SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.implicitTypes = true;
    envelope.dotNet = false;
    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    androidHttpTransport.debug = true;
    androidHttpTransport.call(soap_action, envelope);
    String json = envelope.getResponse().toString();