如何使用android studio中的改造服务在请求中传递json
Posted
技术标签:
【中文标题】如何使用android studio中的改造服务在请求中传递json【英文标题】:How to pass json in request using retrofit services in android studio 【发布时间】:2018-11-04 18:08:23 【问题描述】:如何在改造中传递这些类型的请求中的请求数据。
【问题讨论】:
您必须创建一个 json 对象并将该 json 对象作为参数中的字符串传递,为此您必须创建一个包含这些值和键的模型类,并且使用 Gson 您可以创建一个 json字符串中的对象 先生,您有这方面的演示代码 好的,我将创建并发布为答案 非常感谢先生 【参考方案1】:主要考虑的是
Gson gson = new Gson();
String strJsonObject = gson.toJson(OBJECT_OF_YOUR_MODEL_CLASS);
strJsonObject is string value you can pass as parameter
这是一个如何实现它的代码片段..
ObjectModel objectModel = new ObjectModel();
objectModel.setMobile_number("123456789");
objectModel.setWork_number("12345789");
objectModel.setFax_number("123465");
objectModel.setFirst_name("first name");
objectModel.setLast_name("last name");
objectModel.setWebsite("ww.solution.com");
ArrayList<ObjectModel.Email> emails = new ArrayList<>();
ObjectModel.Email email = new ObjectModel.Email();
email.setPersonal("abc@gmail.com");
email.setWork("work@gmail.com");
emails.add(email);
objectModel.setEmail(emails);
Gson gson = new Gson();
String strJsonObject = gson.toJson(objectModel);
Log.e("strJsonObject", strJsonObject);
创建ObjectModel.class
public class ObjectModel
String mobile_number = "";
String work_number = "";
String fax_number = "";
String first_name = "";
String last_name = "";
String website = "";
ArrayList<Email> email = new ArrayList<>();
public String getMobile_number()
return mobile_number;
public void setMobile_number(String mobile_number)
this.mobile_number = mobile_number;
public String getWork_number()
return work_number;
public void setWork_number(String work_number)
this.work_number = work_number;
public String getFax_number()
return fax_number;
public void setFax_number(String fax_number)
this.fax_number = fax_number;
public String getFirst_name()
return first_name;
public void setFirst_name(String first_name)
this.first_name = first_name;
public String getLast_name()
return last_name;
public void setLast_name(String last_name)
this.last_name = last_name;
public String getWebsite()
return website;
public void setWebsite(String website)
this.website = website;
public ArrayList<Email> getEmail()
return email;
public void setEmail(ArrayList<Email> email)
this.email = email;
public static class Email
String work = "";
String personal = "";
public String getWork()
return work;
public void setWork(String work)
this.work = work;
public String getPersonal()
return personal;
public void setPersonal(String personal)
this.personal = personal;
【讨论】:
谢谢,我将使用此代码并告知响应。【参考方案2】:在使用改造时,使用子体创建数据请求非常简单。 请按照以下步骤轻松完成此操作。
复制Json body代码并粘贴到本网站如下图所示
json2schema website
在各自的字段中添加包名和类名,然后选择如图所示的选项。
点击预览,然后它会生成具有给定参数的模型类,如下图所示。
Modelclass Preview used for Retrofit
然后关闭窗口并单击 zip 按钮,它将生成包含必要文件的 .zip 文件夹。复制这些文件并添加到您的项目中。
然后在您的 Retrofit Interface 类中,像这样调用 JSON 正文文件
@Headers("Content-Type: application/json")
@POST(APIs.REGISTER)
Call<ModelResponse> registerUser(@Body ModelBody modelBody);
如果您有任何疑问,可以在这里与我联系。
【讨论】:
以上是关于如何使用android studio中的改造服务在请求中传递json的主要内容,如果未能解决你的问题,请参考以下文章
当应该为真时,Android Studio 改造响应返回布尔值为假
如何在 android 中使用改造来解析这个 web 服务?
GroovyAndroid Studio 中创建 Groovy 工程 ( 创建 Android Studio 工程 | 创建并改造 Java 依赖库 | 编写 Groovy 代码并运行 )