草庐IT

java - gson.toJson() 抛出 StackOverflowError

我想从我的对象生成一个JSON字符串:Gsongson=newGson();Stringjson=gson.toJson(item);每次我尝试这样做时,都会收到此错误:14:46:40,236ERROR[[BomItemToJSON]]Servlet.service()forservletBomItemToJSONthrewexceptionjava.lang.StackOverflowErroratcom.google.gson.stream.JsonWriter.string(JsonWriter.java:473)atcom.google.gson.stream.JsonWri

android - "Unparseable date: 1302828677828"尝试使用 Gson 反序列化从服务器接收到的毫秒格式日期

在4小时不停地尝试解决问题后,我决定在这里询问是否有人可以帮助我。问题是我的Android客户端在尝试反序列化从服务器接收的数据时抛出“Unparseable:1302828677828”异常。我想知道是否可以使用Gson反序列化毫秒格式的日期。 最佳答案 阿方索的评论:FinallyIgotthesolution://CreatesthejsonobjectwhichwillmanagetheinformationreceivedGsonBuilderbuilder=newGsonBuilder();//Registeranada

php - 在 PHP 中将对象转换为 JSON 并将 JSON 转换为对象,(像 Gson for Java 之类的库)

我正在用PHP开发一个Web应用程序,我需要从服务器传输许多对象作为JSON字符串,是否存在任何库供PHP将对象转换为JSON并将JSON字符串转换为Objec,例如Java的Gson库。 最佳答案 这应该可以解决问题!//convertobject=>json$json=json_encode($myObject);//convertjson=>object$obj=json_decode($json);这是一个例子$foo=newStdClass();$foo->hello="world";$foo->bar="baz";$js

java - 如何使用 gson 库将字符串转换为 JsonObject

请建议如何使用gson库将String转换为JsonObject。我没有成功的做法:Stringstring="abcde";Gsongson=newGson();JsonObjectjson=newJsonObject();json=gson.toJson(string);//Can'tconvertStringtoJsonObject 最佳答案 如果您想使用,可以将其转换为JavaBean:Gsongson=newGsonBuilder().setPrettyPrinting().create();gson.fromJson(j

java - 使用 TypeAdapter 的对象中一个(多个)变量的 Gson 自定义序列化程序

我见过很多使用自定义TypeAdapter的简单示例。最有帮助的是ClassTypeAdapter.但这还没有回答我的问题。我想自定义对象中单个字段的序列化,并让默认的Gson机制处理其余部分。出于讨论的目的,我们可以使用这个类定义作为我希望序列化的对象的类。我想让Gson序列化前两个类成员以及基类的所有公开成员,并且我想对下面显示的第三个和最后一个类成员进行自定义序列化。publicclassMyClassextendsSomeClass{@ExposeprivateHashMaplists;@ExposeprivateHashMapsources;privateLinkedHash

java - 使用 GSON 将 JSON 样式属性名称转换为 Java CamelCase 名称

我正在使用GSON将JSON数据转换为Java对象。它在我所有的测试中都运行良好。问题是我们的真实对象有一些名为is_online的属性。GSON仅在它们的名称完全相等时才映射它们,让GSON将名称转换为Java驼峰式isOnline会很好。这似乎在创建JSON数据时是可能的,驼峰式大小写转换为JSON中的下划线分隔单词。但我找不到反过来指定这一点的方法。 最佳答案 我发现以下设置在读取带有下划线属性的json并在我的模型中使用驼峰法时非常有效。Gsongson=newGsonBuilder().setFieldNamingPoli

java - gson 的多态性

我在使用Gson反序列化json字符串时遇到问题。我收到一系列命令。该命令可以是start、stop或其他类型的命令。自然我有多态性,启动/停止命令继承自命令。如何使用gson将其序列化回正确的命令对象?似乎我只得到基本类型,即声明的类型,而不是运行时类型。 最佳答案 这有点晚了,但我今天必须做同样的事情。所以,根据我的研究,在使用gson-2.0时,你真的不想使用registerTypeHierarchyAdapter方法,而是更普通的registerTypeAdapter。而且您当然不需要为派生类做instanceofs或编写适

java - 使用 Gson 将 JSON 数组解析为 java.util.List

我有一个名为"mapping"的JsonObject,内容如下:{"client":"127.0.0.1","servers":["8.8.8.8","8.8.4.4","156.154.70.1","156.154.71.1"]}我知道我可以通过以下方式获取数组"servers":mapping.get("servers").getAsJsonArray()现在我想将JsonArray解析为java.util.List...最简单的方法是什么? 最佳答案 绝对最简单的方法是使用Gson的默认解析函数fromJson().当您需要反

java - 使用改造获取带有 GSON 的嵌套 JSON 对象

我正在使用我的android应用程序中的API,所有JSON响应都是这样的:{'status':'OK','reason':'Everythingwasfine','content':{}问题是我所有的POJO都有一个status、reason字段,而content字段里面是我想要的真正POJO。有什么方法可以创建一个Gson的自定义转换器以始终提取content字段,因此改造返回适当的POJO? 最佳答案 您将编写一个返回嵌入对象的自定义反序列化器。假设您的JSON是:{"status":"OK","reason":"somere

java - 在使用 GSON 解析 JSON 时使用枚举

这与我之前在这里提出的一个问题有关JSONparsingusingGson我正在尝试解析相同的JSON,但现在我稍微改变了我的类。{"lower":20,"upper":40,"delimiter":"","scope":["${title}"]}我的类(class)现在看起来像:publicclassTruncateElement{privateintlower;privateintupper;privateStringdelimiter;privateListscope;//gettersandsetters}publicenumAttributeScope{TITLE("${ti