我正在使用高效的networking库改造,但我无法处理dynamicJSON,其中包含单个前缀responseMessage随机更改object ,相同的前缀( responseMessage )在某些情况下(dynamic)更改为string。 Json格式responseMessage的对象: { "applicationType":"1", "responseMessage":{ "surname":"Jhon", "forename":" taylor", "dob":"17081990", "refNo":"3394909238490F", "result":"Received" } } responseMessage Json格式dynamic更改为stringtypes: { "applicationType":"4", "responseMessage":"Success" } 对我来说这个问题是因为改造已经内置JSONparsing,我们必须为每个请求分配单个POJO! 但不幸的是REST-API是用dynamic的JSON响应构build的,在成功(…)和失败(…)方法中,前缀将随机变为string和对象。 void doTrackRef(Map<String, String> paramsref2) { RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint("http://192.168.100.44/RestDemo").build(); TrackerRefRequest userref = restAdapter.create(TrackerRefRequest.class); userref.login(paramsref2, new Callback<TrackerRefResponse>() { @Override public void success( TrackerRefResponse trackdetailresponse, Response response) { Toast.makeText(TrackerActivity.this, "Success", Toast.LENGTH_SHORT).show(); } […]
我试图在Gson输出中有一个自定义的date格式,但.setDateFormat(DateFormat.FULL)似乎不工作,它与.registerTypeAdapter(Date.class, new DateSerializer()) 。 这就像Gson不关心对象“Date”并打印它的方式。 我怎样才能改变呢? 谢谢 编辑: @Entity public class AdviceSheet { public Date lastModif; […] } public void method { Gson gson = new GsonBuilder().setDateFormat(DateFormat.LONG).create(); System.out.println(gson.toJson(adviceSheet); } 我总是使用java.util.Date ; setDateFormat()不起作用:(
我目前正在一个Android项目,需要我调用一个Web服务,将返回一个JSON文件。 我一直在使用GSON库来parsing所有的json文件,并得到一个JSON对象。 直到我遇到这个关键字段是dynamic的json数据,它一直运行良好。 这个文件的一个例子如下: { "0": { "count":"5"}, "1": { "title":"…", "desc":"" }, "2": { "title":"…", "desc":"" }, "3": { "title":"…", "desc":"" }, "4": { "title":"…", "desc":"" }, "5": { "title":"…", "desc":"" }, "routes": { "route1":"…", "route3":"" }, } 我能够得到基于密钥ID为“0”的计数,但我不知道如何利用这个值来获得其他的关键对象(密钥ID 1-5),其中包括数据我需要。 如果有人能够帮助我解决这个问题,我将非常感激。 谢谢。
我不喜欢jackson。 我想用阿贾克斯,但与谷歌Gson。 所以我想弄清楚如何实现我自己的HttpMessageConverter与@ResponseBody注释使用它。 有人可以花一些时间让我看看我应该走的路吗? 我应该打开哪些configuration? 另外我想知道如果我可以做到这一点,仍然使用<mvc:annotation-driven />? 提前致谢。 我已经在3天前在Spring Community Foruns上提出了这个问题,但没有回答,所以我在这里问我是否有更好的机会。 春季社区论坛链接到我的问题 我也在网上进行了详尽的search,发现了一些有趣的东西,但似乎他们正在考虑把它放在Spring 3.1中,而我仍然使用Spring 3.0.5: Jira的Spring Improvement问 那么…现在我试图debuggingSpring代码来找出自己如何做到这一点,但我有一些像我在这里说过的问题: Spring框架生成错误 如果还有其他方法可以做到这一点,我错过了,请让我知道。
使用Gson库,如何将JSONstring转换为自定义类JsonLog的ArrayList ? 基本上, JsonLog是由我的Android应用程序 – 短信日志,通话logging,数据日志 – 所做的各种日志实现的接口,这个ArrayList是所有这些的集合。 我不断收到第6行的错误。 public static void log(File destination, JsonLog log) { Collection<JsonLog> logs = null; if (destination.exists()) { Gson gson = new Gson(); BufferedReader br = new BufferedReader(new FileReader(destination)); logs = gson.fromJson(br, ArrayList<JsonLog>.class); // line 6 // logs.add(log); // serialize "logs" again } } 看来编译器不明白我指的是一个types的ArrayList 。 我该怎么办?
我想使用GSON在JAVA中parsing这个JSON文件: { "descriptor" : { "app1" : { "name" : "mehdi", "age" : 21, "messages": ["msg 1","msg 2","msg 3"] }, "app2" : { "name" : "mkyong", "age" : 29, "messages": ["msg 11","msg 22","msg 33"] }, "app3" : { "name" : "amine", "age" : 23, "messages": ["msg 111","msg 222","msg 333"] } } } 但我不知道如何join到根元素: 描述符 ,之后是app3元素,最后是名称元素。 […]
我见过很多使用自定义TypeAdapter的简单例子。 最有用的是Class TypeAdapter<T> 。 但那还没有回答我的问题。 我想自定义对象中单个字段的序列化,并让默认的Gson机制负责其余部分。 出于讨论的目的,我们可以使用这个类定义作为我想要序列化的对象的类。 我想让Gson序列化前两个类成员以及基类的所有公开成员,并且我想为下面显示的第三个和最后一个类成员执行自定义序列化。 public class MyClass extends SomeClass { @Expose private HashMap<String, MyObject1> lists; @Expose private HashMap<String, MyObject2> sources; private LinkedHashMap<String, SomeClass> customSerializeThis; [snip] }
我正在使用有时包含子对象列表的API: { 'obj' : { children: [ {id: "1"}, {id: "2"} ] } } 我可以parsing这个没问题。 但是,如果只有一个孩子,它不会将其作为列表返回: { 'obj' : { children: {id: "1"} } } 我的parsing器,预计列表然后打破。 有没有人有如何处理这个build议?
我有以下课程 public class MyClass { private List<MyOtherClass> others; } public class MyOtherClass { private String name; } 我有JSON可能看起来像这样 { others: { name: "val" } } 或这个 { others: [ { name: "val" }, { name: "val" } ] } 我希望能够使用这两个这些JSON格式相同的MyClass 。 有没有办法与Gson做到这一点?
我有一个JsonObject名为"mapping"与以下内容: { "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() 现在我想parsingJsonArray到一个java.util.List … 什么是最简单的方法来做到这一点?