Tag: android gson

RuntimeTypeAdapterFactory表示未定义“类型”

我正在处理我需要反序列化的多态类的情况。 Class Pen{ String name; List animals; } //Animal can be an interface or parent class: I am flexible Class Animal{ AnimalType type;//enum int legs; } enum AnimalType{ dog,cat,pig,chicken; } Class AnimalDog extends Animal{ //… } Class AnimalCat extends Animal{ //… } Class AnimalPig extends Animal{ //… } 然后我创建我的Gson实例 public static Gson instanceUpperCamelCaseWithTypeAdapterFactory() { if […]

转换时Gson忽略了我的字段

我创建了一个模型: public class UserRequest extends DefaultRequest { public String username; public String password; public String id; public UserRequest(String username, String password) { this.username = username; this.password = password; } } 我称之为: //code truncated UserRequest userRequest = new UserRequest(username,password); response = getRestClient().sysInitApp(userRequest).execute(); //code truncated 然后我打印出请求正文,而不是: { “username”:”farid”, “password”:”passfarid”, “id”:null } 我明白了: { “username”:”farid”, “password”:”passfarid” } 我很感激这个问题的任何帮助。

如何使用com.google.gson类创建json对象

我试图通过传递另一个jsonObject来转换jsonArray和jsonObject。 请问任何示例代码? { “role”: “CUSTOMER”, “operationId”: “updateHomePlace”, “parameters”: { “tcId”: “f44015c8-d672-411b-a0f9-49cf9ef3f6b2”, “otpVerification”: “false”, “password”: “false”, “homePlace”: [{ “address”: “MIG 528, KPHB 1st Phase,, Kukatpally Housing Board Colony, Kukatpally, Hyderabad, Telangana 500072, India”, “lat”: “17.4866943”, “lng”: “78.3994029” }] } }

如何将JSON映射到java模型类

我需要将json obj映射到一个类,并将其数组映射到android中的arraylist,它也应该包含所有子数据。 (也有嵌套的arraylists)我需要再次将更新的数据列表转换为jsonobject 我的json字符串是 { “type”: “already_planted”, “crops”: [ { “crop_id”: 1, “crop_name”: “apple”, “crop_details”: [ { “created_id”: “2017-01-17”, “questions”: [ { “plants”: “10” }, { “planted_by”: “A person” } ] }, { “created_id”: “2017-01-30”, “questions”: [ { “plants”: “15” }, { “planted_by”: “B person” } ] } ] }, { “crop_id”: 2, “crop_name”: “Cashew”, […]

Gson使用多种对象类型反序列化JSON数组

我有一些奇怪的JSON像: [ { “type”:”0″, “value”:”my string” }, { “type”:”1″, “value”:42 }, { “type”:”2″, “value”: { } } ] 基于某些字段,数组中的对象是某种类型。 使用Gson,我的想法是有一个TypeAdapterFactory将那些特定类型的委托适配器发送到TypeAdapter,但我很想知道读取“type”字段的好方法,以了解要创建的类型。 在TypeAdapter中, Object read(JsonReader in) throws IOException { String type = in.nextString(); switch (type) { // delegate to creating certain types. } } 我会假设“类型”字段在我的JSON中排在第一位。 有没有一种可行的方法来消除这种假设?