当前位置: 首页 > 面试题库 >

序列化要使用KSOAP2发送的整数数组

吴胜
2023-03-14
问题内容

我在尝试将int数组发送到.NET Web服务时遇到问题,该服务期望参数之一为数组。至少从我从Web服务上的API描述中了解到的内容可以看出:

<dataIndexIDs>
<int>int</int>
<int>int</int> </dataIndexIDs>

因此,当我像下面那样发送单个int时,我没有收到任何错误,并且我认为它可以正常工作。

request.addProperty("dataIndexIDs", 63);

但是当我尝试发送一个整数数组时:

request.addProperty("dataIndexIDs", new int[] {63, 62}); // array of ints

或整数的ArrayList:

ArrayList<Integer> indexes = new ArrayList<Integer>();
    indexes.add(63);
    indexes.add(62);
    request.addProperty("dataIndexIDs", indexes); // ArrayList of Integers

我抛出“ java.lang.RuntimeException:无法序列化”异常。有什么帮助吗?我究竟做错了什么?谢谢!


问题答案:

这是KSOAP2 for Android库的一个已知问题,该库目前根本不支持数组。问题描述在这里:

http://code.google.com/p/ksoap2-android/issues/detail?id=19

可以在此处找到第三方补丁,解决方案和示例:

http://people.unica.it/bart/ksoap2-patch/

我个人没有测试它们,因为它们还需要更改Web服务WSDL,但显然它们可以解决该问题。



 类似资料:
  • 我正在尝试从整数值反序列化scala枚举。 当我尝试反序列化这个字段时,它会抛出一个错误-的值com.example.TestEnum$JsonToken.VALUE_NUMBER_INT 我看到jackson doc建议在java中使用JsonCreator,但是没有提到scala enum。 我使用默认的ScalaMapper没有任何定制在这里。

  • 但是在输入序列之后,我们必须键入一个非整数字符并按“Enter”来终止扫描程序并执行“for”循环。有没有什么方法我们不必键入一个非整数字符来终止扫描仪?

  • 问题内容: 我在反序列化以下json数组时遇到麻烦(对不起,大小): 如果将其粘贴到json-viewer中,则会得到以下结构: 现在,包含具有坐标的数组的数组具有可变大小。所以我想在Java中,整个对象应该是一个数组,其中包含数组的集合,每个数组都包含一个。就像是 但是gson不接受这一点。我收到以下错误消息: 这似乎很奇怪,因为对我来说好像不像一个数组。但这可能使我感到困惑,或多或少地迷路了…

  • 我收到来自第3方服务提供商的JSON响应,其中包含一系列对象。当我尝试使用Jackson api反序列化JSON时。我收到以下异常 我的回答是 我的POJO课是这样的 我正在尝试使用以下代码反序列化JSON 如果我试着去做 它在BEGIN_对象本身失败。 如何使用数组读取和反序列化JSON。我应该编写自己的反序列化器吗? 编辑如果我使用JSON字符串而不是流,那么我就能够取回所有Java对象。但为

  • 问题内容: 考虑以下枚举和类: 并考虑以下主要功能: 当前,该主输出为: 这种输出并不适合我,因为除了字符串的,我想它是,这是序号值在枚举。 所以我想要得到的实际结果是: 有一些优雅的方法可以使其表现为这种方式吗? 问题答案: 它应该通过指定映射器来工作。 如注解的Javadoc所述,这也适用于反序列化: 注意:当用于Java枚举时,一个附加功能是带注释的方法返回的值也被视为要反序列化的值,而不仅

  • 问题内容: 现在我想知道你们是否可以帮助我将ArrayList序列化到文件上。现在我正在从学校进行总结,但是我没有真正的编码问题。我正在制作的是GUI通讯录,当用户添加地址时,它会存储到arraylist中并添加到comboBox中。那就是我在做什么。我要问的是您是否可以序列化Arraylist。如果可以的话,你们能教我怎么做吗?或者至少给我一些教程? 非常感谢。如果你们需要在回答之前先看代码,请