如何将java对象转换为json对象,并在android中作为参数发送到ASMXWeb服务?
我正在从android应用程序调用ASMXWeb服务中的一个web方法,该方法接受一个json对象。当我调试我的应用程序时,它会给我以下异常“无法序列化1001.10”(它是我的类变量值之一)。下面我通过硬编码值发送数据(用于测试目的) 我在itm.PurValue之后得到异常“Cannon serialize 1001.01”(调试我的应用程序时捕获异常) 我认为这是由于日期格式,但由于我的Web服务接受json对象,我认为错误可能是我发送的对象的格式 为了将java对象转换为json对象,我将gson.jar文件添加到java构建路径库中 并使用Gson将java对象转换为json字符串,并将该json字符串传递给web服务 当我运行应用程序时,它会中止并显示“很不幸,我的应用程序停止工作” 下面是我用来将java对象转换为json字符串的代码如何将java对象转换为json对象,并在android中作为参数发送到ASMXWeb服务?,android,json,web-services,asmx,gson,Android,Json,Web Services,Asmx,Gson,我正在从android应用程序调用ASMXWeb服务中的一个web方法,该方法接受一个json对象。当我调试我的应用程序时,它会给我以下异常“无法序列化1001.10”(它是我的类变量值之一)。下面我通过硬编码值发送数据(用于测试目的) 我在itm.PurValue之后得到异常“Cannon serialize 1001.01”(调试我的应用程序时捕获异常) 我认为这是由于日期格式,但由于我的Web服务接受json对象,我认为错误可能是我发送的对象的格式 为了将java对象转换为json对象,我
Gson gson = new Gson(); //Exception Occurred at this point when control comes here it is giving as Invocation Target Exception
String json=gson.toJson(itm);
p.setName("ThisItem");
p.setValue(json);
p.setType(String.class);
request.addProperty(p);
剩下的代码是常见的。。。但作为参考,我也在这里粘贴代码
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidTSE=new HttpTransportSE(URL);
try
{
androidTSE.call(Soap_Action, envelope);
SoapObject response=(SoapObject) envelope.getResponse();
return response.toString();
}
catch(Exception ex)
{
return ex.toString();
}
当我用上面包含的gson代码调试我的应用程序时,我得到一个异常作为调用目标异常
有什么问题吗?我在对象中使用的是日期格式,还是将java对象转换为gson对象的格式
最后,我想说,我想向我的ASMXWeb服务发送一个json对象。我怎样才能解决这个问题。任何人都可以分享任何想法。我为这个错误挣扎了7个小时
提前谢谢
甘尼什我知道我为时已晚,但对于其他寻求类似答案的人来说: 我在尝试向soap服务发送字符时出现此错误。问题在于这段代码:
p.setName("ThisItem");
p.setValue(json);
p.setType(String.class);
request.addProperty(p);
要解决这个问题,您需要做的是:
request.addAttribute("This Item",json);
是的,成功了
request.addAttribute("This Item",json);