将RequestBody解析为Retrofit 2.0中的请求参数

时间:2017-10-25 18:16:21

标签: android retrofit2

我必须解析以下Web服务:

http://api.mytracemobile.com/mobile.svc/getHotelApp?data= { “AvailabilitySearch”: {“权限”:{“货币”:“USD”},“城市名称”:“印度斋浦尔”,“CheckInDate”:“2017-11-18”,“CheckOutDate”:“2017-11-19”,“ Searchid“:”111111“,”房间“:[{”宾客“:{”成人“:[{”标题“:”先生“},{”标题“:”先生“}}}},{”宾客“ :{“成人”:{“标题”:“先生”}}}},“国籍”:“IN”}}

如何为其创建RequestBody,以便?data = 也包含在该请求正文中。 请告诉我这是如何实施的 在此先感谢

1 个答案:

答案 0 :(得分:1)

了解GSON and Retrofit,两者都有足够的文章。

检查虚拟样本和模型类,而不是上面的数据样本,以了解过程

 Sample: A:{B:"",C:"",D:[{D1:""},{D1:""}]} 

 Models: 
   Class1 {@SerializedName("A") private Class2 a; }

   Class2 { @SerializedName("B") private String b;
             @SerializedName("C") private String c;
             @SerializedName("D") private Arraylist<Class3> d; } 
   Class3 {   @SerializedName("D1") private String D1; }

注意:在模型中添加Getter setter或构造函数以访问值。

在此之后,您可以通过传递Class1的引用来解密JSON响应。

阅读GSON(@SerializedName),然后了解Retrofit以获取JSON响应,同时查看StackOverflow帖子。