草庐IT

java - 使用 GSON 将 JSON 字符串转为 Java 对象

我正在尝试将json解析为java。根据jsonlint.com,我有以下字符串是有效的jsonprivatefinalstaticStringLOC_JSON="["+"{"+"\"lat1\":39.737567,"+"\"lat2\":32.7801399,"+"\"long1\":-104.98471790000002,"+"\"long2\":-96.80045109999998"+"},"+"["+"{"+"\"lat\":{"+"\"b\":38.88368709500021,"+"\"d\":40.620468491667026"+"},"+"\"long\":{"+"

java - Gson 。将整数反序列化为整数而不是 double

我有一个带有任意值的json对象。我想在map中反序列化它。一切正常,除了将整数转换为double。参见示例:{"id":1,"inner_obj":{"key":"value","num":666,"map":{"key":"value"}}}反序列化为这个(map.toString()):{id=1.0,inner_obj={key=value,num=666.0,map={key=value}}}是否有一些简单的方法可以将“id”和“num”反序列化为整数而不是double? 最佳答案 JSON中没有整数类型。1和1.0是一样

java - 使用 gson 转换器时如何将改造用作单例?

Fromthe@jakeWhartonansweryoushouldonlyevercallrestAdapter.createonceandre-usethesameinstanceofMyTaskServiceeverytimeyouneedtointeractwith.Icannotstressthisenough.Youcanusetheregularsingletonpatterninordertoensurethatthereonlyiseverasingleinstanceoftheseobjectsthatyouuseeverywhere.Adependencyinje

java - GSON反序列化后完成对象构造

我已成功开始使用GSON序列化和反序列化我的Android应用程序中的对象层次结构。某些被序列化的对象具有我必须标记为transient的成员(或者使用其他GSON注释来防止它们被序列化),因为它们是对我不想序列化的对象的引用作为输出JSON字符串的一部分。这些引用指向必须通过其他方式单独构造的对象。一旦结构被反序列化回Java对象,在某些时候我需要填写这些引用。我可以通过使用一系列setXXX()类型的方法轻松地做到这一点,但在完成之前,这些对象处于不完整状态。因此,我想知道是否有更强大的方法来解决这个问题。目前想到的方法:如果对象处于不完整状态,则让对象抛出RuntimeExcep

java - 使用 Jackson 或 Gson 的 Jsonpath

我得到了一个很大的json文档,我只想将其中的一部分解析到我的java类中。我在考虑使用jsonpath之类的东西从中提取部分数据,而不是创建整个java类层次结构。Jackson或Gson是否以任何方式支持jsonpath?如果是,能否为此提供一些示例或指向另一个标准库?例如,假设我有一个下面的文档,我只想在我的Java类中从中提取下面的数据:$.store.book[0]-只有第一本书$.store.bicycle.price-自行车价格{"store":{"book":[{"category":"reference","author":"NigelRees","title":"S

java - 在 Gson 双序列化中关闭科学记数法

当我使用Gson序列化一个包含接近于零的double值的对象时,它使用的是科学的E-notation:{"doublevaule":5.6E-4}我如何告诉Gson生成{"doublevaule":0.00056}相反?我可以实现自定义JsonSerializer,但它会返回JsonElement。我将不得不返回一个JsonPrimitive,其中包含一个无法控制其序列化方式的double。谢谢! 最佳答案 为什么不为Double提供一个新的序列化器?(您可能必须重写您的对象以使用Double而不是double)。然后在序列化程序中

java - GSON : Expected BEGIN_OBJECT but was STRING

我在尝试将JSON解码为对象时遇到GSON错误。错误(ExpectedBEGIN_OBJECTbutwasSTRINGatline3column22)指向下方输入的第3行。我是否没有根据Bean正确映射JSON?importjavax.xml.bind.JAXBElement;publicclassBusinessPartnerCreate{protectedJAXBElementpartnerType;protectedPersonperson;protectedCompanycompany;protectedStringemail;protectedStringphone;prot

java - 读取 JSON 内容

我正在使用jsoup抓取一些HTML数据,效果很好。现在我需要提取一些JSON内容(只有JSON,不是HTML)。我可以使用jsoup轻松做到这一点,还是必须使用其他方法来做到这一点?jsoup执行的解析是对JSON数据进行编码,因此它无法使用Gson正确解析。 最佳答案 虽然很棒,Jsoup是HTML解析器,而不是JSON解析器,因此在这种情况下它是无用的。如果你尝试过,Jsoup会将返回的JSON隐式地放在中。等等。你不想拥有那个。Gson是一个JSON解析器,因此您绝对需要它。您的具体问题可能是您不知道如何将返回JSON的UR

没有参数的 java.lang.RuntimeException : Failed to invoke public com. example.syncapp.MessageBase()

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{System.out.println(request.getParameter("msg").toString());Stringdata=request.getParameter("msg").toString();Gsongson=newGson();MessageBasemsggg=gson.fromJson(data,MessageBase.class);//Sy

java - 如何正确地将特定对象的列表转换为 Gson?

我正在从事SpringMVC项目。我正在使用hibernate。我想将AJAX与jQuery结合使用,以从我的SpringController获取一些JSON。不幸的是,当我实现Gson时我的应用程序中的方法出现错误:java.lang.UnsupportedOperationException:Attemptedtoserializejava.lang.Class:org.hibernate.proxy.HibernateProxy.Forgottoregisteratypeadapter?我必须使用哪个适配器以及以何种方式使用?错误发生在方法的最后一行:publicStringme