Questions tagged «gson»

Gson是Google的开源库,用于将Java对象与JSON进行序列化和反序列化。

6
Android Studio中的Gson库
有人可以给我逐步指南,将Gson库添加到Android项目吗? 我尝试了JSON内置库,但是现在似乎有点乏味。我看到了几个基于Gson的示例,这似乎很容易。
92 android  gson 

9
如何使用gson库将字符串转换为JsonObject
请建议如何将使用库转换String为JsonObject使用gson库。 我未成功执行的操作: String string = "abcde"; Gson gson = new Gson(); JsonObject json = new JsonObject(); json = gson.toJson(string); // Can't convert String to JsonObject
91 java  json  gson 

11
如何在Android中解析JSON数组(非Json对象)
我很难找到一种方法来解析JSONArray。看起来像这样: [{"name":"name1","url":"url1"},{"name":"name2","url":"url2"},...] 如果JSON的写法不同,我知道如何解析(换句话说,如果我返回了json对象而不是对象数组)。但这就是我所必须拥有的。 *编辑:这是一个有效的json。我使用此json制作了iPhone应用程序,现在我需要在Android上使用它,但无法弄清楚。有很多示例,但是它们都是与JSONObject相关的。我需要JSONArray。 有人可以给我一些提示,还是教程或示例? 非常感激 !
89 java  android  json  gson  arrays 

15
gson.toJson()抛出StackOverflowError
我想从我的对象生成一个JSON字符串: Gson gson = new Gson(); String json = gson.toJson(item); 每当我尝试执行此操作时,都会出现此错误: 14:46:40,236 ERROR [[BomItemToJSON]] Servlet.service() for servlet BomItemToJSON threw exception java.lang.StackOverflowError at com.google.gson.stream.JsonWriter.string(JsonWriter.java:473) at com.google.gson.stream.JsonWriter.writeDeferredName(JsonWriter.java:347) at com.google.gson.stream.JsonWriter.value(JsonWriter.java:440) at com.google.gson.internal.bind.TypeAdapters$7.write(TypeAdapters.java:235) at com.google.gson.internal.bind.TypeAdapters$7.write(TypeAdapters.java:220) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:200) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:96) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:60) at com.google.gson.Gson$FutureTypeAdapter.write(Gson.java:843) 这些是我的BomItem类的属性: private int itemId; private …

9
如何使用Gson解析JSON数组
我想解析JSON数组并使用gson。首先,我可以记录JSON输出,服务器清楚地响应客户端。 这是我的JSON输出: [ { id : '1', title: 'sample title', .... }, { id : '2', title: 'sample title', .... }, ... ] 我尝试了这种结构进行解析。一个类,该类取决于单个JSONArrayarray和ArrayList所有JSONArray。 public class PostEntity { private ArrayList<Post> postList = new ArrayList<Post>(); public List<Post> getPostList() { return postList; } public void setPostList(List<Post> postList) { this.postList = (ArrayList<Post>)postList; } …
84 java  android  arrays  json  gson 

10
如何在翻新中处理动态JSON?
我正在使用改造高效的网络库,但是无法处理包含单个前缀的Dynamic JSON,该前缀 responseMessage会object随机responseMessage更改,在某些情况下(动态),相同的前缀()会更改为String。 Json格式的responseMessage对象: { "applicationType":"1", "responseMessage":{ "surname":"Jhon", "forename":" taylor", "dob":"17081990", "refNo":"3394909238490F", "result":"Received" } } responseMessage Json格式会动态更改为字符串类型: { "applicationType":"4", "responseMessage":"Success" } 我的问题是,因为改造具有内置的JSON解析功能,所以我必须为每个请求分配单个POJO!但不幸的是,REST-API是基于动态JSON响应构建的。前缀将在成功(...)和失败(...)方法中从字符串随机更改为对象! 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, …
82 android  json  gson  retrofit 

7
改装GSON将json字符串中的Date序列化为java.util.date
我正在对我的REST调用使用Retrofit库。我所做的大部分工作都像黄油一样顺利,但是由于某些原因,我在将JSON时间戳字符串转换为java.util.Date对象时遇到了问题。传入的JSON如下所示。 { "date": "2013-07-16", "created_at": "2013-07-16T22:52:36Z", } 如何告诉Retrofit或Gson将这些字符串转换成java.util.Date objects?
81 java  android  json  gson  retrofit 

3
Android中的Moshi vs Gson [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 上个月关闭。 改善这个问题 我正在决定是使用Square还是Gson的Moshi来序列化和反序列化模型数据。 我一直不喜欢Gson的一件事是我认为它使用反射功能,而这在Android上可能会很慢?莫希也使用反射吗? Moshi vs Gson有哪些优缺点? 我认为它们相似。例如,该语句创建一个typeAdapter: class CardAdapter { @ToJson String toJson(Card card) { return card.rank + card.suit.name().substring(0, 1); } @FromJson Card fromJson(String card) { if (card.length() != 2) throw new JsonDataException("Unknown card: " + card); char rank = card.charAt(0); switch (card.charAt(1)) { case 'C': return …



7
预期进行BEGIN_OBJECT的改造,但进行BEGIN_ARRAY
我是JSON解析的新手,我使用Square的Retrofit库,遇到了这个问题。 我正在尝试解析此JSON响应: [ { "id": 3, "username": "jezer", "regid": "oiqwueoiwqueoiwqueoiwq", "url": "http:\/\/192.168.63.175:3000\/users\/3.json" }, { "id": 4, "username": "emulator", "regid": "qwoiuewqoiueoiwqueoq", "url": "http:\/\/192.168.63.175:3000\/users\/4.json" }, { "id": 7, "username": "test", "regid": "ksadqowueqiaksj", "url": "http:\/\/192.168.63.175:3000\/users\/7.json" } ] 这是我的模型: public class Contacts { public List<User> contacts; } ... public class User { String username; …
78 java  android  json  gson  retrofit 

9
具有动态ArrayList项类型的Gson TypeToken
我有以下代码: Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType(); List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList); 它将JSON字符串转换List为对象的。但是,现在我想让它具有在运行时定义ArrayList的动态类型(而不仅仅是myClass)。 所述ArrayList的项目类型将与被定义反射。 我尝试了这个: private <T> Type setModelAndGetCorrespondingList2(Class<T> type) { Type typeOfObjectsListNew = new TypeToken<ArrayList<T>>() {}.getType(); return typeOfObjectsListNew; } 但这是行不通的。这是例外: java.sql.SQLException: Fail to convert to internal representation: {....my json....}

8
类A声明多个JSON字段
我有一个类A,其中包含一些私有字段,而同一类扩展了另一个类B,它也具有一些在A类中的私有字段。 public class A extends B { private BigDecimal netAmountTcy; private BigDecimal netAmountPcy; private BigDecimal priceTo; private String segment; private BigDecimal taxAmountTcy; private BigDecimal taxAmountPcy; private BigDecimal tradeFeesTcy; private BigDecimal tradeFeesPcy; // getter and setter for the above fields } B班有一些私人班级成员 现在,当我尝试从上述类A创建JSON字符串时,出现以下异常: class com.hexgen.ro.request.A declares multiple JSON fields named netAmountPcy …
75 java  json  gson 

6
使用Proguard模糊处理时,Gson EnumTypeAdapter中出现AssertionError
我的项目在序列化/反序列化期间实现了一个TypeAdapterin Gson,以保留对象的多态状态。无论如何,该项目在开发测试期间运行良好,但是当通过proguard混淆发布并进行测试时,它只是崩溃。 03-21 10:06:53.632: E/AndroidRuntime(12441): FATAL EXCEPTION: main 03-21 10:06:53.632: E/AndroidRuntime(12441): java.lang.AssertionError 03-21 10:06:53.632: E/AndroidRuntime(12441): at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.<init>(SourceFile:724) 03-21 10:06:53.632: E/AndroidRuntime(12441): at com.google.gson.internal.bind.TypeAdapters$26.create(SourceFile:753) 03-21 10:06:53.632: E/AndroidRuntime(12441): at com.google.gson.Gson.getAdapter(SourceFile:353) 03-21 10:06:53.632: E/AndroidRuntime(12441): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(SourceFile:82) 03-21 10:06:53.632: E/AndroidRuntime(12441): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(SourceFile:81) 03-21 10:06:53.632: E/AndroidRuntime(12441): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(SourceFile:118) 03-21 10:06:53.632: E/AndroidRuntime(12441): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(SourceFile:72) 03-21 10:06:53.632: E/AndroidRuntime(12441): …
73 android  gson  proguard 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.