Articles of gson

改进抛出错误期望的BEGIN_ARRAY,但是BEGIN_OBJECT

嗨,我是新的改造库,我有parsing一些JSON的问题。 我已经看了一些Stackoverflow的其他解决scheme,但没有太多的运气与我的问题。 即时通讯试图让一个简单的web服务工作。 任何build议将不胜感激.. Json文件 {"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ]} 请求方法 public void requestEmployeeData(String uri){ RestAdapter adapter = new RestAdapter.Builder().setEndpoint(ENDPOINT).build(); EmployeesAPI employeesAPI =adapter.create(EmployeesAPI.class); employeesAPI.getEmployees(new Callback<List<Employees.employeesclass>>() { @Override public void success(List<Employees.employeesclass> employees, Response response) { List<String> names = new ArrayList<String>(); Log.v("nas", "The Employees Webservice Success" + response); } @Override public void failure(RetrofitError retrofitError) […]

反序列化其中有多个项目的JSON对象

我试图反序列化(使用gson)一个如下所示的JSON对象: "attachments": { "40": { "ID": 40, "URL": "http:\/\/drewmore4.files.wordpress.com\/2013\/02\/wreckit.jpg", "guid": "http:\/\/drewmore4.files.wordpress.com\/2013\/02\/wreckit.jpg", "mime_type": "image\/jpeg", "width": 287, "height": 400 }, "3": { "ID": 3, "URL": "http:\/\/drewmore4.files.wordpress.com\/2013\/02\/frankenweenie2bposter.jpg", "guid": "http:\/\/drewmore4.files.wordpress.com\/2013\/02\/frankenweenie2bposter.jpg", "mime_type": "image\/jpeg", "width": 273, "height": 400 } }, 我如何处理? 我什至不知道该怎么称呼这里有多个“项目”,但它不是一个数组。 当我试图反序列化它作为一个数组,程序崩溃的“预期Begin_Array但findBegin_Object”exception。 当我尝试将它反序列化为Strong对象(请参见下面的类)时,程序将运行,但所有字段都返回null。 这是我试图把它映射到的类: class Attachment { int ID; String URL; } 完整的JSON文件可以在这里看到: 编辑:解决。 @ Perception的解决scheme基本上工作。 这是因为这个“元素”(仍然想知道这个多入口/非数组json元素)embedded到一个包含数组的较大的json对象中。 再一次,这个JSON不是我的devise – 它来自WordPress的REST […]

自定义序列化程序 – 使用GSON的反序列化程序列表BasicNameValuePairs

我试图为BasicNameValuePair对象的一些列表实现一个自定义的gson序列化器/反序列化器。 我在这里看到了部分解决scheme代码(用于序列化): 如何让Gson序列化一个基本名称值对列表? 但是我想实现反序列化 ,我尝试了一下机会,代码在这里: package dto; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.http.message.BasicNameValuePair; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; public class KeyValuePairSerializer extends TypeAdapter<List<BasicNameValuePair>> { @Override public void write(JsonWriter out, List<BasicNameValuePair> data) throws IOException { out.beginObject(); for(int i=0; i<data.size();i++){ out.name(data.get(i).getName()); out.value(data.get(i).getValue()); } out.endObject(); } @Override public List<BasicNameValuePair> read(JsonReader in) throws IOException { ArrayList<BasicNameValuePair> […]

gson.fromJson()中的内存不足exception

我使用下面的代码将Jsonstring(strWebserviceResult)转换为我的对象: EntMyClass entMyClass = gson.fromJson(strWebserviceResult,EntMyClass.class); 当strWebserviceResult很大(大约2.5 MB)时,我在Android手机设备上的这一行上得到了内存不足的exception,而不是在具有较大内存的平板电脑上。 我该如何解决这个问题。 有人有什么build议吗? 05-26 15:52:49.607: E/dalvikvm-heap(2078): Out of memory on a 9200-byte allocation. 05-26 15:52:49.618: E/dalvikvm(2078): Out of memory: Heap Size=31879KB, Allocated=27693KB, Bitmap Size=936KB, Limit=32768KB 05-26 15:52:49.618: E/dalvikvm(2078): Extra info: Footprint=31879KB, Allowed Footprint=31879KB, Trimmed=7400KB 05-26 15:52:49.618: E/AndroidRuntime(2078): FATAL EXCEPTION: Thread-19 05-26 15:52:49.618: E/AndroidRuntime(2078): java.lang.OutOfMemoryError: (Heap Size=31879KB, Allocated=27693KB, Bitmap Size=936KB) […]

GSON反序列化自定义对象数组

我想使用GSON在Android中序列化/反序列化JSON。 我有两个看起来像这样的类: public class Session { @SerializedName("name") private String _name; @SerializedName("users") private ArrayList<User> _users = new ArrayList<User>(); } 和: public class User { @SerializedName("name") private String _name; @SerializedName("role") private int _role; } 我正在使用GSON来序列化/反序列化数据。 我这样序列化: Gson gson = new Gson(); String sessionJson = gson.toJson(session); 这将产生如下所示的JSON: { "name":"hi", "users": [{"name":"John","role":2}] } 我反序列化如下: Gson gson = new Gson(); […]

使用GSONparsing并放置到对象列表中

我发现这篇文章: http : //www.dev-articles.com/article/Google-gson-and-list-of-objects-386003 它看起来像试图做我想要的,这是parsing我的JSON,并把它们放入一个对象列表。 我没有得到,或者文章是缺less的东西,是如何使用“项目”类。 它似乎是从哪里来的。 编辑: 感谢yorkw我现在有: public static String parseJSONResponse(String jsonResponse) { Type listType = new TypeToken<List<SingleEvent>>(){}.getType(); List<SingleEvent> events = (List<SingleEvent>) Gson.fromJson(jsonResponse, listType); } 但即时通过types的红色标志。“types不能parsing为types”

试图用GSONparsingJSON

我想parsing我的Android应用程序上的GSON库的JSON。 我可以正确parsing一个JSON数组,但现在我需要parsing另一个JSON,这个结构体: { "articles": [ { "article": { "articleId": 1, "articleName": "Bocadillo de calamares", "merchantId": 2, "price": 3.5 }, "computable": true, "orderArticleId": 3157, "orderId": 203, "price": 3.5, "requestedDate": "2012-11-19 13:15:20", "shared": true, "status": "AS01_INITIAL" }, { "article": { "articleId": 3, "articleName": "Desayuno", "merchantId": 2, "price": 2.2 }, "computable": true, "orderArticleId": 3158, "orderId": 203, "price": 0, […]

将Sqllite光标的结果转换为我的对象

我已经对Android上的SQLite数据库执行了一些查询。 使用的主要指令是这样的: Cursor cursor = myDB.rawQuery(select, null); 现在我想把这个查询的结果转换成我在项目中创build的generics类。 如果你认为我想要一个ORM系统,那么你是对的,但是我现在发现的所有ORM系统都是想查询数据库,在数据库中保存对象并pipe理数据库本身。 现在我需要一个简单的ORM特性,它可以完成google.gson库对JSONstring所做的工作,它将JSONstring转换为自定义对象,而且我希望将SQLite光标转换为我的类。 任何build议如何做到这一点?

用gson和空值反序列化

我试图反序列化我自己的类与空值。 但是我的代码不起作用。 我的json: {"Text":null,"Code":0,"Title":"This is Sparta!"} 在我的方法中,我执行以下操作: this.setText(gson.fromJson(jsonObject.getString("Text"), String.class)); this.setTitle(gson.fromJson(jsonObject.getString("Title"), String.class)); this.setCode(gson.fromJson(jsonObject.getString("Faccode"), Integer.class)) 我不是反序列化整个对象,因为也可以有一个List<T> 。 错误: myapp W/System.err? com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 6 path $ myapp W/System.err? at com.google.gson.Gson.assertFullConsumption(Gson.java:786) myapp W/System.err? at com.google.gson.Gson.fromJson(Gson.java:776) myapp W/System.err? at com.google.gson.Gson.fromJson(Gson.java:724) myapp W/System.err? at com.google.gson.Gson.fromJson(Gson.java:696)

重复的条目谷歌Gson

我的错误: Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: com/google/gson/annotations/Expose.class 我正在尝试使用Stripe并将其与改造整合。 我有条纹lib build.gradle文件和应用程序build.gradle文件。 我没有看到是什么导致这个错误,我需要在两个build.gradle文件的依赖项,因为条纹和改进使用它。 应用程序build.gradle: apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.weaverprojects.stripe2" minSdkVersion 21 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', […]