如何将java对象转换为json对象,并在android中作为参数发送到ASMXWeb服务?

如何将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对象,我

我正在从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字符串的代码

            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);