gpt4 book ai didi

java - 如何使用flexjson序列化和反序列化对象数组列表?

转载 作者:行者123 更新时间:2023-12-01 05:49:30 28 4
gpt4 key购买 nike

有人知道如何使用 flexjson 序列化和反序列化对象数组列表吗?

我尝试过的是:

@GET 
@Produces(MediaType.APPLICATION_JSON)
@Path("/getAllGeoData")
public String getAllGeoData(){
List<Object[]>l = geoMapService.getAllGeoData();

return new JSONSerializer().serialize(l);
}

好的..这有效,当我调用这个网络服务时,我得到以下结果:

[[50.0830292,8.2387331],[50.0830292,8.2387331],[50.0752003,8.2397125]]

在我的 Android 客户端中,我尝试反序列化该对象列表:

List<Object[]> l=new  JSONDeserializer<List<Object[]>>().deserialize(jsonstring);

我得到以下执行:

02-23 09:45:30.911: WARN/dalvikvm(270): VFY: unable to resolve exception class 157 (Ljava/beans/IntrospectionException;)
02-23 09:45:30.921: WARN/dalvikvm(270): VFY: unable to resolve exception class 157 (Ljava/beans/IntrospectionException;)
02-23 09:45:30.921: WARN/dalvikvm(270): VFY: unable to find exception handler at addr 0x16a
02-23 09:45:30.921: WARN/dalvikvm(270): VFY: rejected Lflexjson/ObjectBinder;.bindIntoObject (Ljava/util/Map;Ljava/lang/Object;Ljava/lang/reflect/Type;)Ljava/lang/Object;
02-23 09:45:30.921: WARN/dalvikvm(270): VFY: rejecting opcode 0x0d at 0x016a
02-23 09:45:30.931: WARN/dalvikvm(270): VFY: rejected Lflexjson/ObjectBinder;.bindIntoObject (Ljava/util/Map;Ljava/lang/Object;Ljava/lang/reflect/Type;)Ljava/lang/Object;
02-23 09:45:30.931: WARN/dalvikvm(270): Verifier rejected class Lflexjson/ObjectBinder;
02-23 09:45:30.941: WARN/dalvikvm(270): threadid=15: thread exiting with uncaught exception (group=0x4001b188)
02-23 09:45:30.941: ERROR/AndroidRuntime(270): Uncaught handler: thread Thread-8 exiting due to uncaught exception
02-23 09:45:30.951: ERROR/AndroidRuntime(270): java.lang.VerifyError: flexjson.ObjectBinder
02-23 09:45:30.951: ERROR/AndroidRuntime(270): at flexjson.JSONDeserializer.createObjectBinder(JSONDeserializer.java:169)
02-23 09:45:30.951: ERROR/AndroidRuntime(270): at flexjson.JSONDeserializer.deserialize(JSONDeserializer.java:149)
02-23 09:45:30.951: ERROR/AndroidRuntime(270): at com.mobilesociato.services.RemoteServiceGeoData$GeoDataThread.run(RemoteServiceGeoData.java:76)
02-23 09:45:30.951: ERROR/AndroidRuntime(270): at java.lang.Thread.run(Thread.java:1096)

帮助将不胜感激

问候

最佳答案

您提供的 flexjson 包的版本似乎与您的 Android 版本不兼容。您是否将其添加到应用程序的 libs/目录中?

Flexjson 2.1 应该可以在 Android 上运行 to this (滚动到底部)。

由于 org.json 包是“内置”到 Android 中的,因此仅使用该包是否是一种可行的方法?

关于java - 如何使用flexjson序列化和反序列化对象数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5088823/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com