为post请求创建一个json

我正在尝试将JSON字符串发送到post方法以便接收航class信息,我有以下json示例我必须修改以提出不同的请求

{ "request": { "passengers": { "adultCount": 1 }, "slice": [ { "origin": "BOS", "destination": "LAX", "date": "YYYY-MM-DD" }, { "origin": "LAX", "destination": "BOS", "date": "YYYY-MM-DD" } ] } } 

我有以下课程

 public class Request { public class Passengers{ private int adultCount; public int getAdultCount() { return adultCount; } public void setAdultCount(int adultCount) { this.adultCount = adultCount; } } private List slice; public List getSlice() { return slice; } public void setSlice(List slice) { this.slice = slice; } public static class Slice{ private String origin; private String destination; private String date; public String getOrigin() { return origin; } public void setOrigin(String origin) { this.origin = origin; } public String getDestination() { return destination; } public void setDestination(String destination) { this.destination = destination; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } } } 

如何映射此类以设置值并使用相同的格式创建不同的json? 我正在尝试jackson但我没有得到合适的输出

这是JSON格式。 好好学习。

JSON字符串映射到Java String 。 JSON编号映射到Java Number类型。 JSON数组映射到Collection类型或数组类型。 JSON对象映射到Java Map类型或任何其他Java类型(之前未提及)。

所以像Java一样

 class Foo { String name; int[] array; Map> ref; } 

映射到

 { "name" : "string", "array" : [1, 2, 3], "ref" : { "val1" : [1.2, 3.4] } } 

您的JSON是根目录下的JSON对象。 它包含

 "request": { 

这是一个键值对,其中键是JSON字符串,值是JSON对象。

这应该告诉您需要一个带有名为request的字段的Java对象,该字段应该引用另一个对象。 递归地执行此分析,您将获得Java对象格式。

它将大大简化你的生活使用Gson,谷歌的json库使得你的类图中的所有解析/编码。 它还支持递归,可以让您定义更复杂的结构,例如arraylist,list,hashtable。 一切都是靠自己运作的。

 private String field = "field_1"; priavate String field2 = "field_2"; ArraList field_list = new ArrayList(); 

会引诱:

 { field : "field_1", field2 : "field_2" field_list : [ etc... ] }