草庐IT

java - Moshi 通用型适配器

假设有以下代表服务器响应的参数化数据类:publicclassSocketResponse{privateStringresponseMessage;privateintresponseCode;privateTentity;}我在运行时知道T是什么类型。moshi是否像Gson一样支持通用类型适配器?使用Gsonid执行以下操作来解析它。TypetypeA=newTypeToken>(){}.getType();SocketResponseresponseA=getResponse("json",typeA);TypetypeB=newTypeToken>(){}.getType()

java - Gson 中的 DateFormat 模式 "yyyy-MM-dd' T'HH :mm:ss. SSS'Z'"

我有如下两个字段(注意第一个字段有毫秒部分):{"updateTime":"2011-11-02T02:50:12.208Z","deliverTime":"1899-12-31T16:00:00Z"}我想用Gson将Json字符串反序列化为一个对象,所以得到一个Gson实例:GsonBuildergb=newGsonBuilder();gb.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");gson=gb.create();第一个字段被反序列化为Java日期类型:2011-11-0202:50:12.208(看起来忽略了时区部分-“Z”,这是

java - 如何将任意 JSON 转换为 Java 中可用的结构

我正在尝试使用gson将返回的JSON转换成某种类型的数据结构,以便我可以提取有用的数据。例如:http://search.twitter.com/search.json?q=test&rpp=1返回:{"completed_in":0.028,"max_id":196386333906837504,"max_id_str":"196386333906837504","next_page":"?page=2&max_id=196386333906837504&q=test&rpp=1","page":1,"query":"test","refresh_url":"?since_id=1

java - GSON : custom object deserialization

好的,所以我编辑了问题,因为它不够清楚。编辑2:更新了JSON文件。我在Android应用程序中使用GSON,我需要解析来自服务器的JSON文件,这些文件有点太复杂了。我不想让我的对象结构太重,所以我想简化内容:所以我的对象结构不会是JSON文件的结构。例如,如果在JSON中我有这个:{"object1":{"attribute1":"test1","attribute40":"test40","user":{"id":1,"name":"foo"},"example":{"total":10,"list":[{"tag":"tag1","name":"objectname1","po

java - 使用gson反序列化json数组

从thisquestion继续。我在反序列化以下json数组时遇到问题(对大小感到抱歉):"geometry":{"type":"Polygon","coordinates":[[[771230.894373,4422896.962001],[804804.852796,4451159.130080],[876828.563339,4417873.954498],[959794.979827,4430944.287708],[910992.515063,4372980.866944],[932488.308736,4357684.778349],[918573.372386,41156

java - Google 的 GSON 是否使用构造函数?

我在做我们的项目时想知道一些事情。Google的GSONAPI是否使用您要反序列化的JSON中的构造函数?例如:我有一个JSON字符串,我想将其转换为Employee对象。Employee对象有一个构造函数,它对参数进行一些检查(例如,它的ID>0)。我们使用下面的代码反序列化JSON。但是在将JSON反序列化为Employee时是否会调用此构造函数?GSON链接:https://github.com/google/gson编辑:所以在尝试断点后我发现构造函数没有被调用。无论如何,有人知道调用它的方法吗?/***TheGSONclasstohelpyoucreateandde-seri

java - 使用 GSON 解析多种类型的数组

我希望使用GSON解析以下json:[["hello",1,[2]],["world",3,[2]]]所以,这是1个数组,包含2个数组。2个内部数组本身就是数组,由String、int、array类型组成。我不确定如何使用Java类来为具有3种不同类型(字符串、整数、数组)的数组建模。我开始于://Stringjsonjustcontainstheaforementionedjsonstring.ArrayList>data=newArrayList>();TypearrayListType=newTypeToken>>(){}.getType();data=gson.fromJson

java - GSON 需要 BEGIN_ARRAY 但实际是 BEGIN_OBJECT

当我在列表中只收到一个项目时出现此错误。我在服务器端RESTWeb服务中使用Jersey,只有当List返回一个元素并且它有0个元素时,我才会得到错误,我得到java.lang.NullPointerException但是当它有多个时,它会完美地工作,这就是我的做法:@GET@Path("getproject")@Produces(MediaType.APPLICATION_JSON)publicListgetPagedProjects(@QueryParam("offset")intoffset,@QueryParam("limit")intlimit,@QueryParam("se

java - GSON:如何从 Json 获取不区分大小写的元素?

当JSON对象包含传递给方法的jsonKey时,下面显示的代码运行良好。我想知道......是否有办法将值分配给不区分大小写的键表示?示例:publicStringgetOutputEventDescription(JsonElementoutputEvent)throwsParserException{returnretrieveString(outputEvent,DESCRIPTION);}无论DESCRIPTION定义为“Description”、“description”还是“DeScRipTIOn”都应该有效protectedStringretrieveString(Jso

java - 使用自定义类型适配器添加对象,gson 中的 jsonwriter

gson是一个很棒的库-它运行良好。有时我有自定义要求,并且可以制作和注册TypeAdapters和TypeAdaptorFactories-这也很有效。然而,让我感到困惑的是如何委托(delegate)回json序列化......大多数时候我需要这个用于集合,但为了说明这一点-假设我有一个pair类,gson显然会愉快地序列化,但是出于某种原因,我需要自己的自定义序列化程序。嗯...如果我的一对是publicclassPair{publicfinalObjectFirst;publicfinalObjectSecond;publicPair(Objectfirst,Objectsec