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

Java 如何使用flexjson序列化和反序列化对象数组列表?,java,android,json,web-services,flexjson,Java,Android,Json,Web Services,Flexjson,有人知道如何用flexjson序列化和反序列化对象数组列表吗 我尝试的是: @GET @Produces(MediaType.APPLICATION_JSON) @Path("/getAllGeoData") public String getAllGeoData(){ List<Object[]>l = geoMapService.getAllGeoData(); return new JSONSerializer().serialize(l); } 我们将不

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

我尝试的是:

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

    return new JSONSerializer().serialize(l);
}
我们将不胜感激


您好

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

Flexjson 2.1应该在Android上运行(滚动到底部)


由于
org.json
软件包“内置”在Android中,因此使用该软件包是否可行?

是的,我已将flexjson.jar添加到我的应用程序的libs/目录中。我尝试过使用org.json包。但是当我尝试反序列化数据时,我得到一个异常,json字符串必须以“{”开头我不知道现在该怎么办…org.json不起作用..flexjson不起作用。序列化可能有什么问题。除了flexjson,你知道其他库吗?flexjson使序列化更容易?FJ 2.1应该根据主页工作。你可能使用旧的/特殊的版本来生成['-或某些全局设置?“[”似乎不是有效的Json(请参见示例)。不,我使用的是最新版本2.1。是“[”无效。第一个字符必须是”{。但是序列化简单对象很好。序列化列表可能会有问题吗?可以序列化对象数组的列表吗?我可能必须使用这些转换器吗?不管它们如何工作..我认为基本问题不是android端,而是服务器端。你说
String get…()
但是返回值是一个扁平的列表。我认为您应该执行
list get…()
以获得服务器端的魔力,将结果序列化为正确的JSON,然后可以轻松解析。
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)